зачем_нужен_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
зачем_нужен_kubernetes [2025/01/13 05:50]
val [Шаг 1. Что у нас есть для начала]
зачем_нужен_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 34: Line 35:
 ===== Шаг 2. Web сервер на shell ===== ===== Шаг 2. Web сервер на shell =====
  
-  * [[Средства программирования shell#Web сервер на shell]] (добавить демонстрацию через STDIN и hostname)+  * [[Средства программирования shell#Web сервер на shell]] (/var/www уже есть, снять все комментарии, показать работу ​через STDIN/STDOUT)
   * Сервис HTTP [[Сервис HTTP#​Нагрузочное тестирование]]   * Сервис HTTP [[Сервис HTTP#​Нагрузочное тестирование]]
  
Line 44: 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 61: 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 72: 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 87: 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 109: 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>​
  
 ===== Вопросы ===== ===== Вопросы =====
зачем_нужен_kubernetes.1736736650.txt.gz · Last modified: 2025/01/13 05:50 by val