User Tools

Site Tools


devops2._использование_kubernetes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devops2._использование_kubernetes [2025/04/09 04:50]
val [4.6 Мониторинг кластера Kubernetes]
devops2._использование_kubernetes [2026/01/30 13:18] (current)
val [4.8 Helm - от основ до универсального чарта]
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 147: Line 150:
 ssh kube3 systemctl restart containerd ssh kube3 systemctl restart containerd
 ' '
- 
-kubeN# 
-crictl pull server.corpX.un:​5000/​student/​gowebd 
-crictl images 
-crictl rmi server.corpX.un:​5000/​student/​gowebd 
 </​code>​ </​code>​
 +  * [[Система Kubernetes#​Управление образами]]
  
   * Используем на kube1 [[Система Kubernetes#​Инструмент командной строки kubectl]] ​   * Используем на kube1 [[Система Kubernetes#​Инструмент командной строки kubectl]] ​
  
 +===== Практикум =====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​dev2/​dev2_mod1_pract.mp4|Запись практикума]] (длительность:​ 53 минуты)
 ===== Модуль 2. Объекты kubernetes, helm ===== ===== Модуль 2. Объекты kubernetes, helm =====
  
Line 177: Line 179:
 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]]
-  * Предоставляем доступ к приложниям в k8s по [[Система Kubernetes#​NodePort]]+  * Предоставляем доступ к приложениям в k8s по [[Система Kubernetes#​NodePort]]
  
 +  * Проверка статуса пода
 <​code>​ <​code>​
 kube1:​~/​pywebd-k8s#​ kubectl -n my-ns exec -ti pods/​my-webd-<​TAB>​ -- sh kube1:​~/​pywebd-k8s#​ kubectl -n my-ns exec -ti pods/​my-webd-<​TAB>​ -- sh
Line 189: Line 192:
 kube1:​~/​pywebd-k8s#​ kubectl get pods -n my-ns --watch kube1:​~/​pywebd-k8s#​ kubectl get pods -n my-ns --watch
 </​code>​ </​code>​
 +
 +  * Настройка лимитов в [[Система Kubernetes#​Manifest]]
 +  * Основы администрирования систем Linux [[Основы администрирования систем Linux#​Модуль 11. Анализ производительности и оптимизация системы]]
 +  * Управление ПО [[Управление ПО в Linux#APK Alpine Linux]]
  
 ==== 2.2 volumes, nodeAffinity,​ helm ==== ==== 2.2 volumes, nodeAffinity,​ helm ====
Line 244: Line 251:
  
 <​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 257: Line 264:
   * Удаляем [[Система Kubernetes#​LoadBalancer]]   * Удаляем [[Система Kubernetes#​LoadBalancer]]
  
 +===== Практикум =====
  
 +  * [[https://​val.bmstu.ru/​~val/​pract/​dev2/​dev2_mod2_pract.mp4|Запись практикума]] (длительность:​ 12 минут)
 ===== Модуль 3. Создание CI/CD в kubernetes ===== ===== Модуль 3. Создание CI/CD в kubernetes =====
  
Line 263: Line 272:
 ==== 3.1 Запуск gitlab-runner в kubernetes ==== ==== 3.1 Запуск gitlab-runner в kubernetes ====
  
 +  * [[Система Kubernetes#​Установка Helm]]
 +  * Методически,​ можно показать:​ "​Развертывание своего приложения (webd-chart с образом gowebd)"​
   * Сделать общий [[Система Kubernetes#​gitlab-runner kubernetes]] с тегом "​build"​   * Сделать общий [[Система Kubernetes#​gitlab-runner kubernetes]] с тегом "​build"​
  
Line 273: Line 284:
   * В GitLab добавляем тег ver1.1 и проверяем наличие образов   * В GitLab добавляем тег ver1.1 и проверяем наличие образов
  
-==== 3.3 Разворачивание нужной версии приложения в kubernetes ====+==== 3.3 Развертывание нужной версии приложения в kubernetes ====
  
 <​code>​ <​code>​
-kube1:~# mkdir gowebd-k8s;​cd $_+kube1:~# mkdir -p gowebd-k8s;​cd $_
 </​code>​ </​code>​
   * [[Система Kubernetes#​Deployment]] ver1.1   * [[Система Kubernetes#​Deployment]] ver1.1
Line 338: Line 349:
  
   * [[Система Kubernetes#​Работа со своим репозиторием]] для размещения helm пакета (будет использоваться в дополнительном материале)   * [[Система Kubernetes#​Работа со своим репозиторием]] для размещения helm пакета (будет использоваться в дополнительном материале)
 +
 +===== Практикум =====
 +
 +  * [[https://​val.bmstu.ru/​~val/​pract/​dev2/​dev2_mod3_pract.mp4|Запись практикума]] (длительность:​ 52 минуты)
 ===== Модуль 4. Дополнительные материалы ===== ===== Модуль 4. Дополнительные материалы =====
  
Line 386: Line 401:
  
   * Видео [[Бюджетная безотказная сеть для кластера]]   * Видео [[Бюджетная безотказная сеть для кластера]]
 +
 +==== 4.7 Все что должен знать DevOps про PostgreSQL ====
 +
 +  * Видео [[Все что должен знать DevOps про PostgreSQL]]
 +
 +==== 4.8 Helm - от основ до универсального чарта ====
 +
 +  * Видео [[универсальный_helm-чарт|Helm - от основ до универсального чарта]]
devops2._использование_kubernetes.1744163452.txt.gz · Last modified: 2025/04/09 04:50 by val