Написать в техподдержку Позвонить нам
Админпанель Выход

Содержание статьи:

    Динамическое выделение дисков с PVC

    Механизм Persistent Volume Claim (PVC) в MCS позволяет динамически выделять и подключать к вашим подам блочные диски с необходимыми характеристиками.

    Это обеспечивается за счет того, что в Kubernetes от MCS реализован CSI-драйвер(Container Storage Interface), который взаимодействует с API MCS для управления блочными дисками.

    Для того, чтобы динамически создать PV на базе PVC, вам потребуется указать корректный класс хранения (storage class). Полный список классов хранения и типов дисков, доступных для вашего кластера, необходимо выполнить команду:

    kg storageclasses.storage.k8s.io

    Пример вывода этой команды:

    csi-ceph                   cinder.csi.openstack.org   10d
    csi-ceph-retain            cinder.csi.openstack.org   10d
    csi-dp1                    cinder.csi.openstack.org   10d
    csi-dp1-high-iops          cinder.csi.openstack.org   10d
    csi-dp1-high-iops-retain   cinder.csi.openstack.org   10d
    csi-dp1-retain             cinder.csi.openstack.org   10d
    csi-dp1-ssd                cinder.csi.openstack.org   10d
    csi-dp1-ssd-retain         cinder.csi.openstack.org   10d
    csi-hdd (default)          cinder.csi.openstack.org   10d
    csi-hdd-retain             cinder.csi.openstack.org   10d
    csi-ko1-high-iops          cinder.csi.openstack.org   10d
    csi-ko1-high-iops-retain   cinder.csi.openstack.org   10d
    csi-ko1-ssd                cinder.csi.openstack.org   10d
    csi-ko1-ssd-retain         cinder.csi.openstack.org   10d
    csi-local-ssd              cinder.csi.openstack.org   10d
    csi-local-ssd-retain       cinder.csi.openstack.org   10d
    csi-ms1                    cinder.csi.openstack.org   10d
    csi-ms1-retain             cinder.csi.openstack.org   10d
    csi-ssd                    cinder.csi.openstack.org   10d
    csi-ssd-retain             cinder.csi.openstack.org   10d

    Далее требуется указать этот storage class в поле storageClass декларации PVC:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: nginx-pvc-ssd
    spec:
      storageClassName: "csi-ko1-ssd"
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 30Gi
     
    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx-test-pvc
      labels:
        name: nginx-test-pvc
    spec:
      containers:
        - image: nginx
          name: nginx
          ports:
            - containerPort: 80
              name: http
          volumeMounts:
            # name must match the volume name below
            - name: nginx-persistent-storage
              # mount path within the container
              mountPath: /val/lib/nginx/test
      volumes:
        - name: nginx-persistent-storage
          persistentVolumeClaim:
            claimName: nginx-pvc-ssd

    Полезна ли была эта статья?