Csi-external-resizer#

Csi-external-resizer - компонент управляет изменением размеров томов. Он обеспечивает операцию изменения размеров томов CSI. Компонент предоставляет API для изменения размеров томов и запускается в DropApp Plus в виде pod.

Последовательность выполнения#

Параметры командной строки Csi-external-resizer аналогичны приведенным в таблицах разделов Сsi-external-attacher и Сsi-external-provisioner.

  1. Создайте новую учетную запись службы и предоставьте ей права для запуска Csi-external-resizer.

  2. Разверните Csi-external-resizer:

    oc create deploy/deployment.yaml
    

    Содержание манифеста будет следующим:

    kind: Deployment
    apiVersion: apps/v1
    metadata:
      name: csi-resizer
    spec:
      replicas: 1
      selector:
        matchLabels:
          external-resizer: mock-driver
      template:
        metadata:
          labels:
            external-resizer: mock-driver
        spec:
          serviceAccount: csi-resizer
          containers:
            - name: csi-resizer
              image: dappregistry/1.2/csi-resizer:v1.6.0
              args:
                - "--v=5"
                - "--csi-address=$(ADDRESS)"
                - "--leader-election"
                - "--http-endpoint=:8080"
              env:
                - name: ADDRESS
                  value: /var/lib/csi/sockets/pluginproxy/mock.socket
              imagePullPolicy: "IfNotPresent"
              ports:
                - containerPort: 8080
                  name: http-endpoint
                  protocol: TCP
              livenessProbe:
                failureThreshold: 1
                httpGet:
                  path: /healthz/leader-election
                  port: http-endpoint
                initialDelaySeconds: 10
                timeoutSeconds: 10
                periodSeconds: 20
              volumeMounts:
                - name: socket-dir
                  mountPath: /var/lib/csi/sockets/pluginproxy/
    
            - name: mock-driver
              image: quay.io/k8scsi/mock-driver:canary
              imagePullPolicy: "IfNotPresent"
              env:
                - name: CSI_ENDPOINT
                  value: /var/lib/csi/sockets/pluginproxy/mock.socket
              volumeMounts:
                - name: socket-dir
                  mountPath: /var/lib/csi/sockets/pluginproxy/
    
          volumes:
            - name: socket-dir
              emptyDir:
    

    Вышеприведенная команда – для создания развертывания в DropApp Plus. Deployment - это объект DropApp Plus, который представляет собой развертывание приложения на нескольких узлах. В этом случае Deployment используется для развертывания драйвера DropApp Plus на нескольких узлах кластера.

Csi-external-resizer может работать в одном pod с другими внешними контроллерами CSI, такими как Сsi-external-attacher, Сsi-external-snapshotter и/или Сsi-external-provisioner.

Результат#

Csi-external-resizer настроен и готов к использованию.