Github, выпуск 2258, репозиторий openEBS отслеживает это.В настоящее время это можно сделать с помощью небольшого количества ресурсов.Вставка содержимого из обходного пути github,
Для расширения пула cStor (тип = чередующийся) дополнительными дисками.
Краткое описание компонентов пула cStor Storage Pool CR (SP) - используется для указанияДисковые CR, используемые пулом.cStor Storage Pool CR (CSP) - используется для указания уникального пути к диску, используемого пулом.Развертывание пула хранения cStor и связанный Pod.Когда спецификация SPC создается с набором дисков, оператор cstor будет разделять диски на основе узла.И на каждом узле будет создан пул cStor с использованием дисков этого узла.После подготовки пула его можно расширить только с помощью дисков, уже обнаруженных на том же узле.
Следующие шаги предназначены для расширения одного пула хранения cStor, и его необходимо будет повторить для каждого из пулов cStor.соответствует SPC.
Шаг 1: Определите пул cStor (CSP) и пул хранения (SP), связанный с SPC.
kubectl get sp -l openebs.io/storage-pool-claim=cstor-disk --show-labels
Пример выходных данных пулов хранения:
NAME AGE LABELS
cstor-disk-i4xj 53m kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-9mxq,openebs.io/cas-type=cstor,openebs.io/cstor-pool=cstor-disk-i4xj,openebs.io/storage-pool-claim=cstor-disk
cstor-disk-vt1u 53m kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-dxbf,openebs.io/cas-type=cstor,openebs.io/cstor-pool=cstor-disk-vt1u,openebs.io/storage-pool-claim=cstor-disk
cstor-disk-ys0r 53m kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-nh6w,openebs.io/cas-type=cstor,openebs.io/cstor-pool=cstor-disk-ys0r,openebs.io/storage-pool-claim=cstor-disk
Из приведенного выше списка выберите пул cStor, который необходимо расширить.Имя обоих CSP и SP будет одинаковым.Остальные шаги предполагают, что cstor-disk-vt1u необходимо расширить.Из приведенного выше вывода также запишите узел, на котором работает пул.В этом случае это узел gke-kmova-helm-default-pool-2c01cdf6-dxbf
Шаг 2. Определите новый диск, который необходимо подключить к пулу cStor.Следующая команда может быть использована для вывода списка дисков на данном узле.
kubectl get disks -l kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-dxbf
Пример вывода дисков.
NAME AGE
disk-b407e5862d253e666636f2fe5a01355d 46m
disk-ffca7a8731976830057238c5dc25e94c 46m
sparse-ed5a5183d2dba23782d641df61a1d869 52m
Следующая команда может использоваться для просмотра дисков, уже используемых наузел - gke-kmova-helm-default-pool-2c01cdf6-dxbf
kubectl get sp -l kubernetes.io/hostname=gke-kmova-helm-default-pool-2c01cdf6-dxbf -o jsonpath="{range .items[*]}{@.spec.disks.diskList};{end}" | tr ";" "\n"
Пример вывода:
[disk-b407e5862d253e666636f2fe5a01355d]
[sparse-ed5a5183d2dba23782d641df61a1d869]`
В этом случае disk-ffca7a8731976830057238c5dc25e94c не используется.
Шаг 3: Исправление CSP с информацией о пути к диску. Получите путь к диску, указанный по уникальному пути в devLinks.
kubectl get disk disk-ffca7a8731976830057238c5dc25e94c -o jsonpath="{range .spec.devlinks[0]}{@.links[0]};{end}" | tr ";" "\n"
Пример вывода:
/dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1
Исправьте указанный выше путь к дискув CSP
kubectl patch csp cstor-disk-vt1u --type json -p '[{ "op": "add", "path": "/spec/disks/diskList/-", "value": "/dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1" }]'
Убедитесь, что диск исправлен, выполнив команду kubectl get csp cstor-disk-vt1u -o yaml и проверьте, что новый диск добавлен в diskList.
Шаг 4: Patch SPс дискоми проверьте, что новый диск добавлен вdiskList.
Шаг 5. Расширение пула.Последний шаг - обновить модуль пула cstor (cstor-disk-vt1u), указав путь к диску (/ dev / disk / by-id / scsi-0Google_PersistentDisk_kmova-n2-d1)
Определите связанный модуль пула cstorс CSP cstor-disk-vt1u.
kubectl get pods -n openebs | grep cstor-disk-vt1u
Пример вывода:
cstor-disk-vt1u-65b659d574-8f6fp 2/2 Running 0 1h 10.44.1.8 gke-kmova-helm-default-pool-2c01cdf6-dxbf
Проверьте имя пула:
kubectl exec -it -n openebs cstor-disk-vt1u-65b659d574-8f6fp -- zpool list
Пример вывода:
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
cstor-deaf87e6-ec78-11e8-893b-42010a80003a 496G 202K 496G - 0% 0% 1.00x ONLINE -
Извлечь имя пула из вывода, приведенного выше.В этом случае - cstor-deaf87e6-ec78-11e8-893b-42010a80003a
Разверните пул с помощью дополнительного диска.
kubectl exec -it -n openebs cstor-disk-vt1u-65b659d574-8f6fp -- zpool add cstor-deaf87e6-ec78-11e8-893b-42010a80003a /dev/disk/by-id/scsi-0Google_PersistentDisk_kmova-n2-d1
Вы можете снова выполнить команду list, чтобы увидеть увеличение емкости.
kubectl exec -it -n openebs cstor-disk-vt1u-65b659d574-8f6fp -- zpool list
Пример вывода:
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
cstor-deaf87e6-ec78-11e8-893b-42010a80003a 992G 124K 992G - 0% 0% 1.00x ONLINE