This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
зачем_нужен_kubernetes [2025/01/13 05:49] val [Шаг 2. Web сервер на shell] |
зачем_нужен_kubernetes [2025/02/13 07:24] (current) val [Запись вебинара] |
||
---|---|---|---|
Line 16: | Line 16: | ||
* Тэги: Stress Testing, Docker, Docker Compose, Kubernetes, Deployment, Service, Keepalived | * Тэги: Stress Testing, Docker, Docker Compose, Kubernetes, Deployment, Service, Keepalived | ||
+ | * https://rutube.ru/video/010673aafbfa7669938d1c3fec3a2ed8/ | ||
===== Методическая подготовка ===== | ===== Методическая подготовка ===== | ||
Line 26: | Line 27: | ||
===== Шаг 1. Что у нас есть для начала ===== | ===== Шаг 1. Что у нас есть для начала ===== | ||
- | * [[Технология Docker]] на server | + | * По окончании основной части курса ДЕВОПС1: |
- | * [[Инструмент GitLab]] | + | - [[Технология Docker]] на server |
- | * [[Инструмент GitLab#GitLab Docker Registry]] | + | - [[Инструмент GitLab]] |
- | * [[Технология Vagrant]] | + | - [[Инструмент GitLab#GitLab Docker Registry]] |
- | * [[Технология Docker]] на nodes через [[Сервис Ansible]] | + | - [[Технология Vagrant]] |
+ | - [[Технология Docker]] на nodes через [[Сервис Ansible]] | ||
===== Шаг 2. Web сервер на shell ===== | ===== Шаг 2. Web сервер на shell ===== | ||
- | * [[Средства программирования shell#Web сервер на shell]] (добавить демонстрацию через STDIN и hostname) | + | * [[Средства программирования shell#Web сервер на shell]] (/var/www уже есть, снять все комментарии, показать работу через STDIN/STDOUT) |
* Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | * Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | ||
Line 43: | Line 45: | ||
server# docker run --name webd0N -h webd0N -itd -v /var/www/:/var/www/ --rm -P test/webd | server# docker run --name webd0N -h webd0N -itd -v /var/www/:/var/www/ --rm -P test/webd | ||
</code> | </code> | ||
- | * [[Сервис Keepalived#Настройка балансировки нагрузки]] | + | |
- | * Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | + | * Сервис Keepalived [[Сервис Keepalived#Установка]] и [[Сервис Keepalived#Настройка балансировки нагрузки]] |
+ | * [[Технология Docker#Анализ параметров запущенного контейнера|Анализ журналов запущенного контейнера]] | ||
+ | * Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] (-rate=5000) | ||
===== Шаг 4. Kubernetes своими руками ===== | ===== Шаг 4. Kubernetes своими руками ===== | ||
- | * [[Технология Docker#Insecure Private Registry]] на server и nodeN | ||
* Создание Public проекта webd в GitLab | * Создание Public проекта webd в GitLab | ||
+ | * [[Технология Docker#Insecure Private Registry]] на server | ||
* [[Технология Docker#Аутентификация в Registry]] и [[Технология Docker#Использование Private Registry]] для размещения образа webd | * [[Технология Docker#Аутентификация в Registry]] и [[Технология Docker#Использование Private Registry]] для размещения образа webd | ||
+ | |||
* [[Сервис NFS]] сервер на server | * [[Сервис NFS]] сервер на server | ||
* [[Сервис NFS#Установка nfs клиента]] на node1,2,3 | * [[Сервис NFS#Установка nfs клиента]] на node1,2,3 | ||
Line 60: | Line 65: | ||
server:/var/www /var/www nfs rw,soft 0 0 | server:/var/www /var/www nfs rw,soft 0 0 | ||
- | root@node1:~# systemctl daemon-reload | + | node1,2,3# systemctl daemon-reload |
node1,2,3# mount /var/www | node1,2,3# mount /var/www | ||
</code> | </code> | ||
+ | |||
+ | * [[Технология Docker#Insecure Private Registry]] на nodeN | ||
* [[Технология Docker#docker-compose]] | * [[Технология Docker#docker-compose]] | ||
Line 71: | Line 78: | ||
services: | services: | ||
webd: | webd: | ||
- | image: server.corpX.un:5000/student/webd:ver1.N | + | image: server.corpX.un:5000/student/webd |
ports: | ports: | ||
- "80" | - "80" | ||
Line 86: | Line 93: | ||
node1,2,3# docker compose logs webd -f | node1,2,3# docker compose logs webd -f | ||
</code> | </code> | ||
+ | |||
* [[Сервис Keepalived#Настройка балансировки нагрузки]] | * [[Сервис Keepalived#Настройка балансировки нагрузки]] | ||
* Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | * Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | ||
Line 108: | Line 116: | ||
* Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | * Сервис HTTP [[Сервис HTTP#Нагрузочное тестирование]] | ||
- | * "Ломаем" один из Worker | + | |
+ | * "Ломаем" один из Worker-ов | ||
+ | |||
+ | * Наблюдаем реакцию клиентов | ||
+ | <code> | ||
+ | user13@gate:~$ curl http://172.16.1.X/t | ||
+ | </code> | ||
+ | |||
+ | * Наблюдаем реакцию в [[Сервис Keepalived]] | ||
+ | |||
+ | * Наблюдаем реакцию в kubernetes | ||
+ | <code> | ||
+ | root@node1:~# kubectl get pods -n my-ns -o wide --watch | ||
+ | </code> | ||
===== Вопросы ===== | ===== Вопросы ===== |