You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes中通过Manifest部署CloudBeaver后创建连接失败:只读文件系统问题求助

Kubernetes中通过Manifest部署CloudBeaver后创建连接失败:只读文件系统问题求助

问题分析

你遇到的这个只读文件系统错误,核心原因是CloudBeaver运行时需要将连接配置、用户数据等内容写入容器内的/opt/cloudbeaver/workspace目录,但当前的Deployment配置里没有挂载可写的持久化存储卷,容器根文件系统默认无法持久化写入,导致创建连接时无法保存相关数据,从而触发报错。

解决方案

要解决这个问题,你需要给CloudBeaver添加持久化存储卷挂载,具体步骤如下:

1. 创建PersistentVolumeClaim(PVC)

首先在cloudbeaver命名空间下创建一个PVC,用于提供可写的存储资源:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: cloudbeaver-workspace-pvc
  namespace: cloudbeaver
spec:
  accessModes:
    - ReadWriteOnce  # 单节点读写模式,适配当前单副本部署
  resources:
    requests:
      storage: 10Gi  # 可根据实际存储需求调整大小

执行命令创建PVC:

kubectl apply -f cloudbeaver-pvc.yaml -n cloudbeaver

2. 修改Deployment配置,挂载存储卷

更新你的CloudBeaver Deployment,给容器添加存储卷挂载规则,并关联上面创建的PVC:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: cloudbeaver
  namespace: cloudbeaver
spec:
  replicas: 1
  strategy:
      type: Recreate
  selector:
    matchLabels:
      app: cloudbeaver
  template:
    metadata:
      labels:
        app: cloudbeaver
    spec:
      containers:
        - name: cloudbeaver
          image: dbeaver/cloudbeaver:24.0.1
          imagePullPolicy: Always
          resources:
            requests:
              cpu: 200m
              memory: 256Mi
            limits:
              cpu: 500m
              memory: 256Mi
          ports:
            - name: web-access
              containerPort: 8978
          # 新增存储卷挂载配置
          volumeMounts:
            - name: workspace-storage
              mountPath: /opt/cloudbeaver/workspace  # CloudBeaver核心工作目录,必须可写
          env:
            - name: CB_SERVER_NAME
              valueFrom:
                configMapKeyRef:
                  name: cloudbeaver-config
                  key: cb_server_name
            - name: CB_SERVER_URL
              valueFrom:
                configMapKeyRef:
                  name: cloudbeaver-config
                  key: cb_server_url  # 补充完整ConfigMap的key(你之前的配置此处有截断)
      # 定义存储卷,关联已创建的PVC
      volumes:
        - name: workspace-storage
          persistentVolumeClaim:
            claimName: cloudbeaver-workspace-pvc

3. 额外检查项

  • 确认你的ConfigMap配置完整,特别是CB_SERVER_URL对应的key和值要正确,避免环境变量配置错误影响服务运行。
  • 如果Pod配置了securityContext.readOnlyRootFilesystem: true,要确保已经通过volumeMounts给/opt/cloudbeaver/workspace单独挂载了可写卷,否则即使挂载PVC也会因为根文件系统只读而无法写入。

验证修复

更新Deployment后,等待Pod重新启动:

kubectl rollout status deployment/cloudbeaver -n cloudbeaver

之后重新尝试创建数据库连接,此时CloudBeaver可以正常写入连接数据到挂载的存储卷,只读文件系统的问题应该就能解决了。


备注:内容来源于stack exchange,提问作者rp346

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 09:29:40