全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

云硬盘存储卷

最近更新时间:2023-11-08 16:42:33

您可以在金山云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
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈