
Для просмотра этой видеозаписи необходимо авторизоваться
АвторизацияKubernetes
От: admin Видео: 73
k8s Обзор Концепции Кубернетис
От: admin
8:59
От: admin
3:54
От: admin
11:22
От: admin
15:12
k8s Проверка работоспособности
От: admin
10:08
От: admin
11:33
k8s Хранение конфигураций Configmap
От: admin
11:08
k8s Хранение конфигураций Secret
От: admin
6:25
От: admin
7:13
От: admin
3:39
От: admin
19:04
От: admin
10:26
От: admin
0:26
От: admin
2:14
От: admin
4:55
От: admin
3:16
k8s Компоненты controller-manager
От: admin
3:32
От: admin
8:09
От: admin
3:30
От: admin
3:10
От: admin
9:07
От: admin
5:55
От: admin
5:31
От: admin
6:52
От: admin
6:58
От: admin
3:30
k8s kubespray Устройство playbook
От: admin
3:10
k8s kubespray Подготовка серверов
От: admin
4:01
k8s kubespray Заполняем инвентарь
От: admin
9:44
k8s kubespray настройка переменных
От: admin
8:35
k8s kubespray настройка переменных2
От: admin
1:04
От: admin
2:17
От: admin
5:29
От: admin
2:52
k8s kubespray Обновление кластера
От: admin
6:18
k8s kubespray Обновление кластера2
От: admin
7:13
От: admin
0:45
От: admin
16:16
От: admin
11:05
От: admin
6:52
k8s Абстракции Headless Service
От: admin
5:23
От: admin
9:37
От: admin
4:29
От: admin
11:25
k8s Публикация сервисов Введение
От: admin
0:26
От: admin
3:54
От: admin
2:39
От: admin
1:45
От: admin
2:27
От: admin
2:08
От: admin
7:05
От: admin
11:29
От: admin
1:56
От: admin
0:19
От: admin
4:56
От: admin
23:35
От: admin
18:48
От: admin
5:45
От: admin
8:11
От: admin
16:33
От: admin
14:48
От: admin
0:29
От: admin
10:31
От: admin
3:05
От: admin
3:19
От: admin
5:44
От: admin
2:53
От: admin
9:40
От: admin
12:47
k8s CI/CD Обновление приложений
От: admin
3:43
Описание
Поделиться
Добавить в
Вам надо авторизоваться чтобы добавлять видеозаписи к спискам воспроизведения.
Комментарии (5)
Авторизуйтесь чтобы комментировать.
Advertisement

ssh master-1.s000000
Клонируем репозиторий наш в домашней папке
cd ~
git clone git@gitlab.slurm.io:edu/slurm.git
cd ~/slurm/practice/7.datastorage/rbd/
Далее будем работать на двух серверах: node-1 и master-1. Все команды kubectl выполняются на master-1. Команды ceph и rbd выполняются на node-1
На серверах ingress-1, node-1 и node-2 развернут кластер ceph, более подробно установка рассмотрена в курсе по ceph.
На сервере node-1 настроен доступ в ceph с правами администратора.
Проверяем состояние кластера
1) Открываем 2-ое окно консоли и с sbox заходим на node-1
ssh node-1.s<номер вашего логина>
sudo -s
2) Проверяем что ceph живой
ceph health
ceph -s
Создаем пул в Ceph'e для RBD дисков
3) Запускаем на node-1
ceph osd pool create kube 32
ceph osd pool application enable kube rbd
Получаем файл с настройками chart
4) Переключаемся на master-1 и добавляем репозиторий с chart'ом, получаем набор переменных chart'a ceph-csi-rbd
helm repo add ceph-csi https://ceph.github.io/csi-charts
helm inspect values ceph-csi/ceph-csi-rbd > cephrbd.yml
Заполняем переменные в cephrbd.yml
5) Выполняем на node-1, чтобы узнать необходимые параметры:
Получаем clusterID
ceph fsid
Получаем список мониторов кластера Ceph
ceph mon dump
6) Переключаемся снова на master-1 и правим файл cephrbd.yml
Заносим свои значение clusterID, и адреса мониторов. Включаем создание политик PSP, и увеличиваем таймаут на создание дисков Список изменений в файле cephrbd.yml. Опции в разделах nodeplugin и provisioner уже есть в файле, их надо исправить так, как показано ниже.
csiConfig:
- clusterID: "bcd0d202-fba8-4352-b25d-75c89258d5ab"
monitors:
- "v2:172.18.8.5:3300/0,v1:172.18.8.5:6789/0"
- "v2:172.18.8.6:3300/0,v1:172.18.8.6:6789/0"
- "v2:172.18.8.7:3300/0,v1:172.18.8.7:6789/0"
nodeplugin:
podSecurityPolicy:
enabled: true
provisioner:
replicaCount: 1
podSecurityPolicy:
enabled: true
При необходимости можно свериться с файлом rbd/cephrbd-values-example.yml
Устанавливаем чарт
7) Выполняем команду
helm upgrade -i ceph-csi-rbd ceph-csi/ceph-csi-rbd -f cephrbd.yml -n ceph-csi-rbd --create-namespace
Создаем секрет и storageclass
8) Создаем пользователя в ceph, с правами записи в пул kube
Запускаем на node-1
ceph auth get-or-create client.rbdkube mon 'profile rbd' osd 'profile rbd pool=kube'
9) Смотрим ключ доступа для пользователя rbdkube
ceph auth get-key client.rbdkube
вывод:
AQCO9NJbhYipKRAAMqZsnqqS/T8OYQX20xIa9A==
10) Заполняем манифесты
Выполняем на master-1, подставляем значение ключа в манифест секрета.
cd ~/slurm/practice/7.datastorage/rbd/
vi secret.yaml
Заносим значение ключа в
userKey: AQBRYK1eo++dHBAATnZzl8MogwwqP/7KEnuYyw==
11) Создаем секрет
kubectl apply -f secret.yaml
12) Получаем id кластера ceph
Выполняем на node-1
ceph fsid
13) Заносим clusterid в storageclass.yaml
Выполняем на master-1
vi storageclass.yaml
clusterID: bcd0d202-fba8-4352-b25d-75c89258d5ab
14) Создаем storageclass
kubectl apply -f storageclass.yaml
Проверяем как работает.
15) Создаем pvc, и проверяем статус и наличие pv
kubectl apply -f pvc.yaml
kubectl get pvc
kubectl get pv
Проверяем создание тома в ceph
16) Получаем список томов в пуле и просматриваем информацию о томе
Выполняем на node-1
rbd ls -p kube
rbd -p kube info csi-vol-eb3d257d-8c6c-11ea-bff5-6235e7640653
Пробуем как работает resize
17) Изменяем размер тома в манифесте pvc.yaml и применяем
Выполняем на master-1
vi pvc.yaml
resources:
requests:
storage: 2Gi
kubectl apply -f pvc.yaml
18) Немножко ждем и проверяем размер тома в ceph, pv, pvc
Выполняем на node-1
rbd -p kube info csi-vol-eb3d257d-8c6c-11ea-bff5-6235e7640653
Выполняем на master-1
kubectl get pv
kubectl get pvc
Разбираемся почему у pvc размер не изменился
19) Смотрим его манифест в yaml
Выполняем на master-1
kubectl get pvc rbd-pvc -o yaml
То увидим сообщение message: Waiting for user to (re-)start a pod to finish file system resize of volume on node. type: FileSystemResizePending Необходимо смонтировать том, для того чтобы увеличить на нем файловую систему. А у нас этот PVC/PV не используется никаким подом.
20) Создаем под, который использует этот PVC/PV, и смотрим на размер, указанный в pvc
kubectl apply -f pod.yaml
kubectl get pvc