CSI GlusterFS
CSI-драйвер для подключения внешнего GlusterFS кластера к Kubernetes через Heketi REST API. Предоставляет динамическое provisioning PVC на базе GlusterFS.
Требует предварительно настроенного внешнего GlusterFS кластера с Heketi.
Быстрый старт
# group_vars/all/addons.yml
addon_csi_glusterfs: true
csi_glusterfs_heketi_url: "http://192.168.1.20:8080"
csi_glusterfs_cluster_id: "" # heketi-cli cluster list
Секрет в vault.yml:
vault_glusterfs_heketi_secret: "heketi-admin-password"
make addon-csi-glusterfs
Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
csi_glusterfs_heketi_url |
http://heketi.glusterfs.local:8080 |
Heketi API URL |
csi_glusterfs_heketi_user |
admin |
Пользователь Heketi |
csi_glusterfs_cluster_id |
"" |
ID кластера Heketi |
csi_glusterfs_volume_type |
replicate:3 |
Тип тома GlusterFS |
csi_glusterfs_storage_class_name |
glusterfs |
Имя StorageClass |
csi_glusterfs_reclaim_policy |
Delete |
Delete | Retain |
Типы томов
csi_glusterfs_volume_type: "replicate:3" # 3 реплики (prod)
csi_glusterfs_volume_type: "none" # без реплик (dev)
csi_glusterfs_volume_type: "disperse:4:2" # erasure coding 4+2
Прямые endpoints без Heketi
csi_glusterfs_endpoints:
- name: "gluster01"
ip: "192.168.1.10"
- name: "gluster02"
ip: "192.168.1.11"
- name: "gluster03"
ip: "192.168.1.12"
Использование в PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gluster-data
spec:
accessModes: [ReadWriteMany]
storageClassName: glusterfs
resources:
requests:
storage: 10Gi
Получить Cluster ID из Heketi
heketi-cli --server http://192.168.1.20:8080 \
--user admin --secret "password" \
cluster list