====== 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.