====== DevOps2. Использование Kubernetes 2025 ======
===== Модуль 0. Подготовка к занятию =====
- Узнать и записать свой номер стенда: X=
- Сообщить его в чат преподавателю
===== Модуль 1. Развертывание стенда и kubernetes кластера =====
==== Теория ====
==== Лабораторные работы: Развертывание стенда и kubernetes кластера ====
* Разворачиваем стенд курса [[https://www.specialist.ru/course/yun2-b|Linux. Уровень 2. Администрирование сервисов и сетей]] или [[https://rutube.ru/video/18b52d9721f7464b4485fec7d894e8ca/|Развертывание стенда дома (смотреть с 13-й минуты)]]
=== 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 ===
* [[Настройка стендов слушателей#Настройка виртуальных систем Unix]] с использованием [[Настройка стендов слушателей#Скрипты автоконфигурации]]
* gate
# sh net_gate.sh
# init 6
* server
# sh net_server.sh
# init 6
* Создать в Putty профили gate, server и подключиться
=== 1.3 Подготовка инфраструктуры для kubespray ===
* [[Финальная настройка DNS сервера]] на server
server:~# git -C conf/ pull
server:~# sh conf/dns.sh
* Добавляем DNS записи kubeN A 192.168.X.220+N в [[Сервис DNS#Настройка мастер сервера зоны corpX.un]]
* Настройка клиента DNS на gate и server
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
# nslookup kubeN
* Настройка сервера DHCP на gate
gate:~# git -C conf/ pull
gate:~# sh conf/dhcp.sh
* Настройка MAC адресов 08:00:27:12:34:5N (для получения назначенного IP через [[Сервис DHCP]]) и запуск kube1-4
=== 1.4 Разворачивание кластера Kubernetes через Kubespray ===
* Понадобится [[Язык программирования Python#Виртуальная среда Python]]
* [[Система Kubernetes#Подготовка к развертыванию через Kubespray]]
* [[Сервис Ansible#Использование модулей]] Ansible для отключения swap
* [[Сервис Ansible#Использование ролей]] Ansible для настройки сети
* [[Система Kubernetes#Развертывание кластера через Kubespray]]
=== 1.5 Работа с кластером Kubernetes ===
* Устанавливаем на server [[Система Kubernetes#Инструмент командной строки kubectl]]
===== Модуль 2. Объекты kubernetes, helm, cert manager =====
==== Теория ====
* [[https://habr.com/ru/companies/slurm/articles/783708/|Что происходит, когда вы создаёте Pod в Kubernetes?]]
==== Лабораторные работы: Управление объектами Kubernetes ====
=== 1.1 Создание deployment, service, configmap, secret объектов ===
* [[Система Kubernetes#namespace для своего приложения]]
Создание deployment, service, ingress, configmap, secret объектов
Настройка лимитов, проверка статуса пода, закрепление подов за нодами кластера
Подключение volumes
Написание helm шаблонов
Добавление сертификатов в кластер
===== Модуль 3. Создание CI/CD в kubernetes =====
Сборка докер контейнера в kubernetes
Разворачивание приложения в kubernetes
===== Модуль 4. Дополнительные материалы =====
Доступ к приложениям в Bare-Metal Kubernetes.
Работа с хранилищами в Kubernetes.
Обновление кластера Kubernetes.