FastCFS-CSI
Обзор FastCFS контейнерное хранилище интерфейса (CSI) драйвер обеспечивает поддержку CSI для управления жизненным циклом томов типа FastCFS для оркестраторов контейнеров.
1.1. Состояние проекта: beta
1.2. Функции:
Примечание: FastCFS-CSI не поддерживает удаление статических томов. В спецификации PV параметр persistentVolumeReclaimPolicy должен быть установлен на Retain, чтобы предотвратить попытки удаления PV в csi-provisioner.
Использование FastCFS CSI драйвера в Kubernetes Эта часть относится к специфическим аспектам использования в Kubernetes. Если вы являетесь пользователем Kubernetes, используйте следующие функции драйвера, шаги установки и примеры.
2.1. Матрица совместимости версий FastCFS CSI Driver и FastCFS: | FastCFS CSI Driver | FastCFS Version| |---------------------|----------------| | v0.4.6-fastcfs5.3.0-1 | v5.3.0 | | v0.4.6-fastcfs5.2.0-1 | v5.2.0 | | v0.4.6-fastcfs5.1.0-1 | v5.1.0 | | v0.4.6-fastcfs5.0.0-1 | v5.0.0 | | v0.4.6-fastcfs4.2.0-1 | v4.2.0 | | v0.4.6-1fastcfs4.1.0 | v4.1.0 | | v0.4.6-3fastcfs4.0.0 | v4.0.0 | | v0.4.6-1fastcfs3.7.1 | v3.7.1 | | v0.4.5 | v3.6.3 | | v0.4.4 | v3.6.1 | | v0.4.3 | v3.6.0 | | v0.4.2 | v3.5.0 | | v0.4.0 | v3.3.0 |
2.2. Матрица совместимости версий Kubernetes и FastCFS CSI Driver: | FastCFS CSI Driver \ Kubernetes Version| v1.17 | v1.18+ | |----------------------------------------|-------|-------| | master branch | ? | yes | | v0.4.0 | ? | yes |
2.3. Предварительные условия:
2.4. Установка:
2.4.1. Предоставление прав доступа для драйвера:
Драйверу требуется ключ FastCFS для связи с FastCFS в качестве администратора для управления томами. Существует способ предоставления прав доступа драйверу:
* Использование объекта secret: создайте пользователя с соответствующими правами в FastCFS и поместите его учётные данные (по умолчанию ключи FastCFS хранятся в каталоге /etc/fastcfs/auth/keys) в файл secret.yaml, затем разверните его.
```sh
curl https://raw.githubusercontent.com/happyfish100/fastcfs-csi/master/deploy/kubernetes/secret.yaml > secret.yaml
# Отредактируйте этот файл и вставьте свои учётные данные
kubectl apply -f secret.yaml
```
Затем можно использовать этот ключ в классе хранения.
2.4.2. Настройка параметров допуска узлов (toleration):
По умолчанию драйвер допускает заражение CriticalAddonsOnly и устанавливает значение tolerationSeconds равным 300. Чтобы развернуть драйвер на любом узле, перед развёртыванием установите helm Value.node.tolerateAllTaints равным true.
2.4.3. Развёртывание драйвера:
Перед развёртыванием ознакомьтесь с матрицей совместимости.
2.4.3.1. Развёртывание:
Выполните развёртывание с использованием файла kustomization:
```sh
kubectl apply -k "github.com/happyfish100/fastcfs-csi/deploy/kubernetes/overlays/dev/?ref=main"
```
Вы также можете установить драйвер с помощью helm:
Добавьте репозиторий helm fastcfs-csi:
```sh
helm repo add fastcfs-csi https://happyfish100.github.io/fastcfs-csi
helm repo update
```
Затем установите версию драйвера с помощью chart:
```sh
helm upgrade --install fastcfs-csi fastcfs-csi/fcfs-csi-driver
```
2.4.3.2. Изменение конфигурации FastCFS:
Обновите конфигурацию FastCFS, изменив host (data.fdir-cluster.host, data.fstore-cluster.host, data.auth-cluster.host) или другие параметры. Дополнительную информацию см. в примере конфигурации FastCFS (README-zh_CN.md#先决条件).
```sh
kubectl edit configmap fastcfs-client-config
```
2.4.3.3 Проверка работы драйвера:
Чтобы проверить работу драйвера, выполните команду:
```sh
kubectl get pods
```
2.4.4. Развёртывание драйвера в режиме отладки:
Для просмотра журналов отладки драйвера используйте параметр -v=5 в командной строке при запуске драйвера CSI. ## 3. Разработка
Перед разработкой рекомендуется ознакомиться с CSI Spec и General CSI driver development guideline для получения базовых знаний о CSI-драйверах.
Управление зависимостями осуществляется через go module. Для сборки проекта сначала используйте export GO111MODULE=on
, чтобы включить go mod, а затем выполните команду: make
.
make test-e2e-single-nn
и make test-e2e-multi-nn
. В настоящее время тесты можно выполнить только локально, при этом локальная среда должна иметь возможность подключения к кластеру FastCFS.make image-csi
.Диаграмма helm находится в каталоге charts/fcfs-csi-driver
. Манифесты расположены в каталоге deploy/kubernetes
. Все манифесты, кроме патчей kustomize, генерируются с помощью команды helm template
. Это позволяет поддерживать синхронизацию между диаграммой helm и манифестами.
Чтобы обновить диаграмму helm:
make generate-kustomize
.deploy/kubernetes/values
.generate-kustomize
и файл deploy/kubernetes/values
, а также соответствующий файл kustomization.yaml.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )