Перейти к содержимому

CSI CephFS ​

Описание ​

Модуль обеспечивает работу с файловой системой Ceph внутри кластера Kubernetes

По окончанию установки. Вы получите дополнительный StorageClass.

Используйте объект PersistentVolumeClaim с указанием StorageClass

Подготовка Ceph ​

Подготовка CephFS ​

Заметка

Если у вас уже настроен CephFS пропустите эту главу

Создайте два пула под данные и метаданные:

bash
ceph osd pool create cephfs_metadata
ceph osd pool create cephfs_data

Запуск CephFS:

bash
ceph fs new vmik_share cephfs_metadata cephfs_data

Пометить пул с данными как bulk:

bash
ceph osd pool set cephfs_data bulk true

Запустить службу mds:

bash
ceph orch apply mds vmik_share --placement="3"

Создание пользователя ​

Создать пользователя и выдать права в пул:

bash
ceph auth get-or-create client.{++CEPH_USER_ID++} mon 'allow r' mgr 'allow rw' mds 'allow rws' osd 'allow rw pool=cephfs_data, allow rw pool=cephfs_metadata'

Получить ключ для авторизации CEPH_USER_KEY:

bash
ceph auth get-key client.{++CEPH_USER_ID++}

Данные для подключения ​

Получить кластер ID CEPH_CLUSTER_ID:

bash
ceph status | grep id

ceph mon stat Получить параметры подключения CEPH_MONITOR":

bash
ceph mon stat

Подключение модуля ​

Описание Yaml ​

yaml
apiVersion: configuration.bootsman.tech/v1alpha1
kind: CephCsiCephfs
metadata:
  name: default
spec:
  disabled: false
  storageClass:
    name: "{++CEPH_STORAGECLASS_NAME++}" (1)
    clusterID: "{++CEPH_CLUSTER_ID++}" (2)
    fsName: "{++CEPH_FILESYSTEM_NAME++}" (3)
    pool: "{++CEPH_POOL++}" (4)
    mounter: "{++CEPH_MOUNT_CLIENT++}" (5)
  csiConfig:
    clusterID: "{++CEPH_CLUSTER_ID++}" (6)
    monitors:
      - "{++CEPH_MONITOR++}" (7)
  secret:
    create: true (8)
    name: "{++CEPH_SECRET_NAME++}" (9)
    adminID: "{++CEPH_ADMIN_ID++}" (10)
    adminKey: "{++CEPH_ADMIN_KEY++}" (11)
  1. Имя нового StorageClass
  2. ID кластера Ceph.
  3. Имя файловой системы CephFS.
  4. Опционально. Пул Ceph, котором будут размещаться данные.
  5. Опционально. На выбор два клиента "fuse" и "kernel".
  6. ID кластера Ceph.
  7. Список эндпоинтов Ceph-кластера. Пример:
yaml
  monitors:
  - "v2:172.31.197.69:3300/0,v1:172.31.197.69:6789/0"
  - "v2:172.31.138.209:3300/0,v1:172.31.138.209:6789/0"
  - "v2:172.31.137.176:3300/0,v1:172.31.137.176:6789/0"
  1. Используйте значение false при доступе без авторизации.
  2. Имя секрета авторизации Ceph.
  3. ID пользователя авторизации.
  4. Пароль пользователя авторизации.

Настройка в UI ​

ImageImage

Команда Боцман