1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fastdfs100-fastcfs-csi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-zh_CN.md 9.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 11:42 25b63ae

FastCFS-CSI

  1. Обзор FastCFS контейнерное хранилище интерфейса (CSI) драйвер обеспечивает поддержку CSI для управления жизненным циклом томов типа FastCFS для оркестраторов контейнеров.

    1.1. Состояние проекта: beta

    1.2. Функции:

    • Статическое предоставление: создание нового или миграция существующего тома FastCFS, а затем создание постоянного тома (PV) из тома FastCFS и использование PersistentVolumeClaim (PVC) для потребления PV из контейнера.
    • Динамическое предоставление: использование PersistentVolumeClaim (PVC) запроса Kubernetes для создания тома FastCFS от имени пользователя и потребление этого тома из контейнера.
    • Варианты монтирования: определение способа монтирования тома с помощью указания параметров монтирования в постоянном томе (PV).
    • Расширение тома: возможность расширения размера тома начиная с версии Kubernetes 1.16. Эта функция CSI (ExpandCSIVolumes) находится в состоянии beta.

    Примечание: FastCFS-CSI не поддерживает удаление статических томов. В спецификации PV параметр persistentVolumeReclaimPolicy должен быть установлен на Retain, чтобы предотвратить попытки удаления PV в csi-provisioner.

  2. Использование 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. Предварительные условия:

  • FastCFS версии 2.2.0 или более поздней.
  • В FastCFS включена проверка подлинности (auth_enabled = true).
  • Знание настройки Kubernetes и наличие рабочего кластера Kubernetes:
    • kubelet и kube-apiserver должны быть запущены с флагом --allow-privileged=true.
    • В kube-apiserver должна быть включена функция gateways --feature-gates=CSINodeInfo=true,CSIDriverRegistry=true.
    • В kubelet должна быть включена функция gateways --feature-gates=CSINodeInfo=true,CSIDriverRegistry=true.

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-драйверах.

3.1. Требования

  • Golang 1.15+.
  • Ginkgo в вашей среде переменных для проведения сквозного тестирования.
  • Docker 17.05+ релиз.

3.2. Зависимости

Управление зависимостями осуществляется через go module. Для сборки проекта сначала используйте export GO111MODULE=on, чтобы включить go mod, а затем выполните команду: make.

3.3. Тестирование

  • Выполните e2e-тестирование, запустив команды: make test-e2e-single-nn и make test-e2e-multi-nn. В настоящее время тесты можно выполнить только локально, при этом локальная среда должна иметь возможность подключения к кластеру FastCFS.

3.4. Сборка образа контейнера

  • Соберите образ с помощью команды: make image-csi.

3.5. Helm и манифесты

Диаграмма helm находится в каталоге charts/fcfs-csi-driver. Манифесты расположены в каталоге deploy/kubernetes. Все манифесты, кроме патчей kustomize, генерируются с помощью команды helm template. Это позволяет поддерживать синхронизацию между диаграммой helm и манифестами.

Чтобы обновить диаграмму helm:

  • Сгенерируйте манифесты: make generate-kustomize.
  • Значения, необходимые для генерации некоторых манифестов, находятся в файле deploy/kubernetes/values.
  • При добавлении новых шаблонов ресурсов в диаграмму helm обновите цели make в generate-kustomize и файл deploy/kubernetes/values, а также соответствующий файл kustomization.yaml.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/fastdfs100-fastcfs-csi.git
git@api.gitlife.ru:oschina-mirror/fastdfs100-fastcfs-csi.git
oschina-mirror
fastdfs100-fastcfs-csi
fastdfs100-fastcfs-csi
main