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

OSCHINA-MIRROR/fastdfs100-fastcfs-csi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

FastCFS-CSI

Обзор

Драйвер FastCFS Container Storage Interface (CSI) предоставляет интерфейс CSI, который используется оркестраторами контейнеров для управления жизненным циклом томов FastCFS.

Состояние проекта

Статус: бета.

Функции

  • Статическое предоставление — создание новых или миграция существующих томов FastCFS, затем создание тома с постоянным хранилищем (PV) из тома FastCFS и использование PV из контейнера с помощью заявки на постоянное хранилище (PVC).
  • Динамическое предоставление — использует заявку на постоянное хранилище (PVC), чтобы запросить Kubernetes создать том FastCFS от имени пользователя, и использует этот том из контейнера.
  • Параметры монтирования — параметры монтирования можно указать в спецификации тома с постоянным хранилищем (PV), чтобы определить способ монтирования тома.
  • Изменение размера тома — расширение объёма тома. Соответствующая функция CSI (ExpandCSIVolumes) находится в стадии бета-тестирования начиная с версии Kubernetes 1.16.

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

Драйвер FastCFS CSI в Kubernetes

Следующие разделы относятся к Kubernetes. Если вы используете Kubernetes, используйте следующие функции драйвера, шаги установки и примеры.

Матрица совместимости версий FastCFS CSI Driver

Драйвер FastCFS CSI Версия FastCFS
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.3 v3.6.0
v0.4.2 v3.5.0
v0.4.0 v3.3.0

Матрица совместимости версий Kubernetes

Драйвер FastCFS CSI \ Версия Kubernetes v1.17 v1.18+
master branch ? yes
v0.4.0 ? yes

Предварительные требования

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

Установка

Настройка прав доступа для драйвера

Драйверу требуется секрет FastCFS для взаимодействия с FastCFS с целью управления томом от имени пользователя. Существует метод предоставления прав доступа драйверу:

  • Используя объект секрета — создайте администратора и пользователя с соответствующими правами, поместите учётные данные этого пользователя (по умолчанию каталог учётных данных FastCFS — /etc/fastcfs/auth/keys) в манифест секрета, затем разверните секрет.
curl https://raw.githubusercontent.com/happyfish100/fastcfs-csi/master/deploy/kubernetes/secret.yaml > secret.yaml
# Edit the secret with user credentials
kubectl apply -f secret.yaml

Затем укажите этот ключ в классе хранения.

Настройте настройки толерантности узла

По умолчанию драйвер допускает заражение CriticalAddonsOnly и имеет настроенное значение tolerationSeconds, равное 300. Чтобы развернуть драйвер на любых узлах, установите helm Value.node.tolerateAllTaints на true перед развёртыванием.

Разверните драйвер

Пожалуйста, ознакомьтесь с матрицей совместимости выше перед развёртыванием драйвера.

Развёртывание

Разверните с использованием файла kustomization.

kubectl apply -k **Альтернативный способ установки драйвера с помощью Helm:**

1. Добавьте репозиторий Helm для fastcfs-csi:
```sh
helm repo add fastcfs-csi https://happyfish100.github.io/fastcfs-csi
helm repo update
  1. Установите релиз драйвера, используя диаграмму:
helm upgrade --install fastcfs-csi fastcfs-csi/fcfs-csi-driver

Редактирование конфигурации FastCFS:

Обновите конфигурацию FastCFS, измените хост (data.fdir-cluster.host, data.fstore-cluster.host, data.auth-cluster.host) или другие настройки. Для получения дополнительной информации см. Пример конфигурации FastCFS.

kubectl edit configmap fastcfs-client-config

Проверка работы драйвера:

Чтобы убедиться, что драйвер работает, выполните команду:

kubectl get pods

Развёртывание драйвера в режиме отладки

Чтобы просмотреть журналы отладки драйвера, запустите CSI драйвер с опцией командной строки -v=5.

Примеры

Перед использованием примеров убедитесь, что вы выполнили все предварительные условия, указанные в разделе [Необходимые условия](README.md#Необходимые условия):

Совместимость спецификации CSI и версии Kubernetes

Пожалуйста, обратитесь к матрице в документации Kubernetes.

Разработка

Прежде чем начать, ознакомьтесь с спецификацией CSI и общим руководством по разработке драйверов CSI, чтобы получить базовое понимание работы драйверов CSI.

Требования

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

Зависимости

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

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

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

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

  • Сборка образа: make image-csi

Helm и манифесты

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

При обновлении диаграммы Helm:

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

Комментарии ( 0 )

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

Введение

FastCFS — это высокопроизводительная распределённая файловая система, которая может работать с базами данных. Развернуть Свернуть
Go и 5 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/fastdfs100-fastcfs-csi.git
git@gitlife.ru:oschina-mirror/fastdfs100-fastcfs-csi.git
oschina-mirror
fastdfs100-fastcfs-csi
fastdfs100-fastcfs-csi
main