云硬盘存储卷

最近更新时间:2021-03-03 10:32:06

查看PDF

您可以在金山云Serverless容器服务中使用云硬盘存储卷。

目前,金山云提供两种kubernetes挂载方式:

静态存储卷

使用说明

1、云硬盘为非共享存储,只能被一个 KCI Pod 挂载,实例数量需要设置为1。

2、使用前需要先在控制台申请一块云硬盘,并获得磁盘 ID(volumeId)。

3、volumeName、PV Name要与之volumeId相同。

4、KCI Pod只有与云盘在同一个可用区(Zone)才可以挂载云盘。

5、文件系统类型(fsType)支持ext3、ext4、xfs。

直接通过volume使用

下面的示例nginx-disk-deploy.yaml将yaml文件中声明的EBS云硬盘挂在到pod内的nginx-flexvolume-disk容器的**/data**路径下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-disk-deploy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-flexvolume-disk
        image: nginx
        volumeMounts:
          - name: "db1bd24b-609b-4f3d-9b16-96249a809023"
            mountPath: "/data"
      volumes:
        - name: "db1bd24b-609b-4f3d-9b16-96249a809023"
          flexVolume:
            driver: "ksc/ebs"
            fsType: "ext4"
            options:
              volumeId: "db1bd24b-609b-4f3d-9b16-96249a809023"

通过PV/PVC使用

定义PV。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: "db1bd24b-609b-4f3d-9b16-96249a809023"
spec:
  capacity:
    storage: 20Gi
  storageClassName: disk
  accessModes:
    - ReadWriteOnce
  flexVolume:
    driver: "ksc/ebs"
    fsType: "ext4"
    options:
      volumeId: "db1bd24b-609b-4f3d-9b16-96249a809023"

定义PVC。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-disk
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: disk
  resources:
    requests:
      storage: 20Gi

创建deployment。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-disk-deploy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx--disk
        image: nginx
        volumeMounts:
        - name: pvc-disk
          mountPath: "/data"
      volumes:
      - name: pvc-disk
        persistentVolumeClaim:
          claimName: pvc-disk

动态存储卷

动态存储卷需要手动创建 StorageClass,并在PVC中指定storageClassName。

创建StorageClass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ssd30
provisioner: ksc/ebs
parameters:
  type: SSD3.0
  zone: cn-beijing-6b # 选填 #
  chargetype: Daily

参数说明:

  • provisioner:配置为 ksc/ebs,指定使用金山云Provsioner 插件创建。
  • reclaimPolicy: 云盘的回收策略,默认为Delete,支持Retain。
  • type:EBS类型,必填,可选参数:SSD2.0/SSD3.0/SATA2.0/SATA3.0(字母全部大写)。
  • zone(选填):创建云盘的可用区,注意不同可用区可创建的EBS类型不一样,具体对应关系参考 云硬盘使用限制。当不指定zone参数时,则会在集群所拥有的全部节点所在可用区中随机选择可用区创建云盘。
  • chargetype:云盘的计费方式,默认值为Daliy,详情参考创建云硬盘Open Api中的chargetype字段。
  • purchasetime:若选择"包年包月"的计费方式,需要设置购买时长,单位为月。

创建Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        volumeMounts:
        - name: pvc-disk
          mountPath: "/data"
      volumes:
      - name: pvc-disk
        persistentVolumeClaim:
          claimName: nginx-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nginx-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: ssd30
  resources:
    requests:
      storage: 20Gi

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

  • 内容不全,不深入
  • 内容更新不及时
  • 描述不清晰,比较混乱
  • 系统或功能太复杂,缺乏足够的引导
  • 内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈