This is an old revision of the document!
DevOps2. Использование Kubernetes
Программа курса
Модуль 0. Подготовка стенда в классе
Модуль 1: Развертывание стенда
Теория
Лабораторные работы: Развертывание стенда
1.1 Схема стенда, импорт, настройка и запуск VM gate и server
Запустите с правами Administrator
C:\cmder\cmder.exe
bash
cd
test -d conf && rm -r conf
git clone http://val.bmstu.ru/unix/conf.git
cd conf/virtualbox/
!!! 9 - это номер курса, вместо X укажите Ваш номер стенда, если не знаете его, спросите преподавателя !!!
./setup.sh X 9
1.2 Настройка сети VM gate и server
# sh net_gate.sh
# init 6
# sh net_server.sh
# init 6
1.3 настройка сервисов DNS и DHCP
server:~# sh conf/dns.sh
Настройка клиента
DNS на gate и server
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
# nslookup ns
gate:~# sh conf/dhcp.sh
Вопросы
Модуль 2: Развертывание кластера через kubeadm
Теория
Лабораторные работы: Развертывание учебного кластера
2.1 Развертывание кластера
Развертываем с использованием
Технология Vagrant узлы node1,2,3 (!!! в provision_once.sh раскомментировать docker) для кластера
-
-
2.2 Знакомство с k8s
Вопросы
Должен ли быть установлен docker на узлы кластера, разворачиваемого через kubadm?
Может ли использоваться swap на узлах kubernetes?
Какой объект kubernetes используется для запуска приложение?
Какой объект kubernetes управляет количеством копий приложения
Какой объект kubernetes управляет версией приложения
Какой объект kubernetes управляет доступом к приложению на уровне портов транспортного уровня сети
Какой объект kubernetes управляет доступом к приложению на
URL
Модуль 3: Развертывание кластера через Kubespray
Теория
Лабораторные работы: Развертывание кластера предприятия
3.1 Подготовка узлов
3.2 Развертывание кластера
3.3 Управление кластером
Вопросы
Модуль 4: Разработка и CI приложения
Теория
Лабораторные работы: Разработка и CI приложения
4.1 Разработка приложения и упаковка его в Docker образ
4.2 Размещение кода и образа приложения в GitLab
-
Docker
Insecure Private Registry на client1 для проверки, можно использовать подсказки из раздела container_registry а затем удалить образ из GitLab
4.3 Сборка образа в k8s
Вопросы
Модуль 5: CD приложения
Теория
Лабораторные работы: CD приложения
5.1 Вручную
5.2 GitOps
6 DEVOPS2
Воспроизводим и качественно продолжаем то, на чем остановились на 1-м курсе
-
-
-
Создаем каталог gowebd-k8s пользователем gitlab-runner,
Пример shell Kubernetes, service и ingress можно оставить из лаборатороной работы 5.1
-
Создаем проект gowebd-k8s, что-бы не “возиться” с ключами ssh, указать:
gitlab-runner@server:~/gowebd-k8s$ git remote add origin http://server.corpX.un/student/gowebd-k8s.git
$ curl https://gowebd.corpX.un -k
5.3 Helm
8 DEVOPS2
-
-
-
-
-
-
Настраиваем
DNS на кластер kube
server# cat /etc/bind/corpX.un
...
webd A 192.168.X.222
A 192.168.X.223
gowebd CNAME webd
...
Возвращаем
DNS на кластер node
Лабораторная работа 4.3
5.4 ArgoCD
!!! ВНИМАНИЕ !!! Вместо 9-го фрагмента записи (его лучше просто просмотреть) рекомендую выполнить лабораторные работы из вебинара Доступ к приложениям в Bare-Metal Kubernetes, там есть все что нужно, плюс, много дополнительного материала !!!
-
Настраиваем
DNS на кластер kube
-
5.5 Работа с хранилищами в Kubernetes
!!! Если есть “настрой”, можно выполнить лабораторные работы из этого вебинара:
Вопросы