This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devops2._использование_kubernetes [2025/06/06 08:39] val [2.1 deployment, service, проверка статуса пода, настройка лимитов] |
devops2._использование_kubernetes [2025/09/26 09:40] (current) val [Вопросы] |
||
---|---|---|---|
Line 13: | Line 13: | ||
- Сообщить его в чат преподавателю | - Сообщить его в чат преподавателю | ||
+ | ===== Практикум ===== | ||
+ | |||
+ | * [[https://val.bmstu.ru/~val/pract/dev2/|Записи практикума]] | ||
===== Модуль 1. Развертывание стенда и kubernetes кластера ===== | ===== Модуль 1. Развертывание стенда и kubernetes кластера ===== | ||
Line 128: | Line 131: | ||
* Только преподаватель | * Только преподаватель | ||
- | * [[Язык программирования Python]] (в venv2, без ssl (добавим в теме ingress), с конфигурацией и с /var/www, для демонстрации работы) | + | * [[Язык программирования Python]] (в venv2, без ssl (добавим в теме ingress), с конфигурацией и с /var/www, для проверки работоспособности) |
- | * Создаем и тестируем Docker образ для [[Технология Docker#Приложение python pywebd]] (безопасный вариант, для демонстрации всех нюансов в k8s) | + | * Создаем и тестируем Docker образ для [[Технология Docker#Приложение python pywebd]] (безопасный вариант, с конфигурацией и с /var/www, для начальных простых развертываний в k8s) |
* Создаем проект **pywebd** (Public (Private на следующей итерации), без README) и [[Технология Docker#Использование Private Registry]] для хранения образа (метки latest и ver1.1) | * Создаем проект **pywebd** (Public (Private на следующей итерации), без README) и [[Технология Docker#Использование Private Registry]] для хранения образа (метки latest и ver1.1) | ||
Line 180: | Line 183: | ||
kube1:~# mkdir pywebd-k8s;cd $_ | kube1:~# mkdir pywebd-k8s;cd $_ | ||
</code> | </code> | ||
- | * !!! Можно начать с использования образа gowebd, а потом усложнить | + | * !!! Можно начать с использования образа gowebd, а после демонстрации балансировки заменить на pywebd |
* [[Система Kubernetes#Deployment]] | * [[Система Kubernetes#Deployment]] | ||
* [[Система Kubernetes#Service]], [[Система Kubernetes#ClusterIP]] | * [[Система Kubernetes#Service]], [[Система Kubernetes#ClusterIP]] | ||
Line 195: | Line 198: | ||
* Настройка лимитов в [[Система Kubernetes#Manifest]] | * Настройка лимитов в [[Система Kubernetes#Manifest]] | ||
+ | * Основы администрирования систем Linux [[Основы администрирования систем Linux#Модуль 11. Анализ производительности и оптимизация системы]] | ||
+ | * Управление ПО [[Управление ПО в Linux#APK Alpine Linux]] | ||
==== 2.2 volumes, nodeAffinity, helm ==== | ==== 2.2 volumes, nodeAffinity, helm ==== | ||
Line 250: | Line 255: | ||
<code> | <code> | ||
- | $ curl --connect-to "":"":192.168.X.64:443 https://pywebd.corp24.un | + | $ curl --connect-to "":"":192.168.X.64:443 https://pywebd.corpX.un |
server# cat /etc/bind/corpX.un | server# cat /etc/bind/corpX.un | ||
Line 272: | Line 277: | ||
* [[Система Kubernetes#Установка Helm]] | * [[Система Kubernetes#Установка Helm]] | ||
+ | * Методически, можно показать: "Развертывание своего приложения (webd-chart с образом gowebd)" | ||
* Сделать общий [[Система Kubernetes#gitlab-runner kubernetes]] с тегом "build" | * Сделать общий [[Система Kubernetes#gitlab-runner kubernetes]] с тегом "build" | ||
Line 403: | Line 409: | ||
* Видео [[Все что должен знать DevOps про PostgreSQL]] | * Видео [[Все что должен знать DevOps про PostgreSQL]] | ||
+ | |||
+ | ===== Доп. занятие ===== | ||
+ | |||
+ | ==== Причины ==== | ||
+ | |||
+ | Много материала в 3 дня не помещается никак | ||
+ | |||
+ | Мало часов | ||
+ | |||
+ | Очень сложная тема, необходимо еще несколько раз переслушать материал | ||
+ | |||
+ | Много, сложно. Даже в том что я думаю, что усвоил, на самом деле не уверен | ||
+ | |||
+ | Объем данных создал в голове кашу | ||
+ | |||
+ | ==== Еще причины и пожелания ==== | ||
+ | |||
+ | Было очень тяжело. Во первых удерживать постоянно внимание. Это очень трудно | ||
+ | Второй день была лекция почти 4 часа и там удержание внимание превращается в подвиг. | ||
+ | |||
+ | Поэтому нужны перерывы. Хотя бы 5 минут на 40-60 минут освободить внимание. | ||
+ | |||
+ | Второй момент связан с той ситуацией, когда на второй день на самой тяжёлой лекции один студент сказал, а чем вы вообще занимаемся занимаемся. На мой взгляд его вопрос связан | ||
+ | не с пониманием каких-то конкретных вещей, а с потерей общего понимания занятия, его цели и смысла. | ||
+ | |||
+ | И тут, на мой взгляд, просто нужен общий план лекций или план работ. | ||
+ | |||
+ | Без такого плана непонятно как распределять силы. Непонятно что важно, что не очень важно. | ||
+ | Непонятно что из чего вытекает. | ||
+ | |||
+ | Как правило по ходу лекции ты улавливаешь, что из чего вытекает в данный конкретный момент, но при этом через некоторый промежуток времени теряется общий план задачи. А что бы собственного говоря делаем, к чему идём? Зачем все эти шаги? | ||
+ | |||
+ | Если студент имеют возможность смотреть на такой план, то он может понять на каком этапе он находится, | ||
+ | что он уже сделал и что ему предстоит. | ||
+ | |||
+ | А если не может, то преподавателю при наличии такого плана достаточно будет 2-3 минут что бы вернуть к сути «заблудившегося» студента. | ||
+ | |||
+ | Мы сейчас находимся условно в пункте II.5. То есть мы проделали то, то и то. Сейчас мы делаем это, а после этого у нас по плану то-то, то. | ||
+ | |||
+ | ==== Вопросы ==== | ||
+ | |||
+ | Как реализуется управление конфигурацией и секретами в Kubernetes, и чем это лучше или хуже по сравнению с Ansible Vault? | ||
+ | |||
+ | Как Docker сети (bridge, host, overlay) работают и взаимодействуют между контейнерами на одном хосте и в кластере Kubernetes? | ||
+ | |||
+ | Какие подходы существуют для организации сетевого взаимодействия и безопасности (например, через Service и Ingress) при масштабном развертывании микросервисов в Kubernetes? | ||
+ | |||
+ | |||
+ | Очень хотелось бы рассмотреть https://github.com/rancher/rancher на живом примере (подготовка к развертыванию, работа в его веб-интерфейсе) | ||
+ | Rancher — это платформа для управления контейнерами с открытым исходным кодом. Rancher позволяет легко запускать Kubernetes в любом месте, соответствовать требованиям ИТ и расширять возможности команд DevOps. | ||
+ | |||
+ | |||
+ | |||
+ | 1 Базовые и продвинутые сущности k8s | ||
+ | |||
+ | 2 Стратегии deploy и rollback с реальными примерами из практики | ||
+ | |||
+ | 3 Работу с облаками | ||
+ | |||
+ | |||
+ | |||
+ | Хотелось бы рассмотреть поподробнее компоненты k8s | ||
+ | |||
+ | Такие как | ||
+ | |||
+ | Coredns | ||
+ | |||
+ | Ingress | ||
+ | |||
+ | Sidecar | ||
+ | |||
+ | Istio | ||
+ | |||
+ | Может рассмотреть подробно как работает например kube api и etcd, scheduler, kube-proxy | ||
+ | |||
+ | Можно показать визуально как это выглядит в k9s | ||
+ |