九章智算云

声明存储

开通弹性容器集群时,按客户申请,同步开通系统存储大小。

弹性容器集群默认有2种开通系统持久化存储(Persistent Volume)的方式,静态和动态。

弹性容器集群屏蔽底层的存储细节,用户只需要按需声明使用 PVC,挂载到容器目录中使用。更多 K8s 存储方面的知识,请参考 Kubernetes 官方存储文档

  • 所有拥有权限的账号,共享静态存储,静态存储可以在不同资源清单共享数据。
  • 动态存储只有 10G,且不可扩容,推荐用户使用静态存储。

静态存储 PVC 声明

用户在创建 namespace 时,自动创建静态存储声明,不需要用户再显式声明静态存储:

  • pvc-capacity-userdata:读写(当前集群下的目录及文件)。
  • pvc-capacity-share:只读(企业下的所有目录及文件)。
  • pvc-capacity-app:只读(应用目录及文件)。

获取存储声明:

kubectl get pvc -n test

获取静态 PVC

如果用户已开通其他存储,可联系客服创建PV,然后使用如下方式声明。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: your-pvc-name
spec:
  volumeName: your-pv-name
  accessModes:
    - ReadWriteMany

用户在通过上述文件声明时,请根据已开通 PV 信息替换上述文件的 your-pvc-nameyour-pv-name

动态存储 PVC 声明

获取 StorageClass

kubectl get storageClass

获取 StorageClass

示例:

# 弹性容器集群 动态存储 pvc 声明
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: your-pvc-name
  namespace: your-namespace
spec:
  storageClassName: your-storage-class  # 上步获取的存储类名称
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi

使用存储

将声明的 pvc 挂载到容器的指定目录。claimName 的值,静态存储:pvc-capacity-userdata:读写(弹性容器集群使用)。如果动态存储(最多 10G),填写您创建的 PVC 名称。

示例:

# pod 中使用存储
template:
  metadata:
    labels:
      app: your-label
  spec:
    containers:
      - name: your-container-name
        image: your-image   # 替换为您自己的镜像名称
        command: your-command
        ports:
          - containerPort: your-port-num
        volumeMounts:
          - name: data-volume
            mountPath: /mnt/test  # 容器内使用存储的目录
    volumes:
      - name: data-volume
        persistentVolumeClaim:
          claimName: pvc-capacity-userdata  # 如果是动态存储,此处是您声明的 PVC 名称

最后更新于

这篇文档对你有帮助吗?

目录