User Tools

Site Tools


devops1._основные_инструменты

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
devops1._основные_инструменты [2024/09/12 13:31]
val [Лабораторные работы: Работа с контейнерами Docker]
devops1._основные_инструменты [2024/10/28 07:17] (current)
val
Line 44: Line 44:
 === 1.2 Настройка сети VM gate и server === === 1.2 Настройка сети VM gate и server ===
  
-  * !!! Добавить HDD 20GB к server 
   * [[Настройка стендов слушателей#​Настройка виртуальных систем Unix]] с использованием [[Настройка стендов слушателей#​Скрипты автоконфигурации]]   * [[Настройка стендов слушателей#​Настройка виртуальных систем Unix]] с использованием [[Настройка стендов слушателей#​Скрипты автоконфигурации]]
  
Line 65: Line 64:
 === 1.3 настройка сервиса DNS === === 1.3 настройка сервиса DNS ===
  
-  * [[Управление файловыми системами в Linux#​Использование LVM]] 
   * [[Финальная настройка DNS сервера]] ​   * [[Финальная настройка DNS сервера]] ​
 <​code>​ <​code>​
Line 86: Line 84:
  
   * !!! Заранее выполняем на server   * !!! Заранее выполняем на server
-  * [[Переменные окружения#​Установка переменных окружения]] http_proxy, https_proxy и no_proxy (только для ОО) 
  
   * Установку [[Инструмент Gitea]]   * Установку [[Инструмент Gitea]]
Line 120: Line 117:
 </​code>​ </​code>​
   * [[Установка ПО из исходных текстов#​Использование make для сопровождения файлов конфигурации сервиса]]   * [[Установка ПО из исходных текстов#​Использование make для сопровождения файлов конфигурации сервиса]]
-  * [[Сервис Git]] для каталога ~student/​dhcp/​ на gate+  * [[Сервис Git]] для каталога ~student/​dhcp/​ на gate (лучше в следующей лабораторной)
  
 === 2.2 Знакомимся с SCM Gitea === === 2.2 Знакомимся с SCM Gitea ===
Line 126: Line 123:
   * [[Инструмент Gitea]]   * [[Инструмент Gitea]]
   * Подключаемся как student, Repository Name: dhcp   * Подключаемся как student, Repository Name: dhcp
-  * [[Сервис Git#​Обновление сетевого репозитория из локального]] (копируем инструкции из посказки, ветка master)+  * [[Сервис Git#​Обновление сетевого репозитория из локального]] (копируем инструкции из подсказки)
   * Редактируем dhcpd.conf в Gitea (Commit to master branch)   * Редактируем dhcpd.conf в Gitea (Commit to master branch)
  
Line 144: Line 141:
   * Установка [[Инструмент GitLab]]   * Установка [[Инструмент GitLab]]
   * http://​server.corpX.un/​   * http://​server.corpX.un/​
-  * Используем [[Инструмент GitLab#​Управление пользователями]] в GitLab для ​отключения авто регистрации, ​назначении пароля пользователю root и создания учетной записи student +  * Используем [[Инструмент GitLab#​Управление пользователями]] в GitLab для назначении пароля пользователю root и создания учетной записи student ​(лучше назначить его администратором)
- +
-  * http://​server.corpX.un:​81/​mail+
  
 !!! в теме Ansible !!! в теме Ansible
Line 228: Line 223:
   * [[https://​lindevs.com/​install-vegeta-on-ubuntu|Install Vegeta on Ubuntu 20.04]]   * [[https://​lindevs.com/​install-vegeta-on-ubuntu|Install Vegeta on Ubuntu 20.04]]
   * [[https://​github.com/​tsenart/​vegeta/​releases|github/​tsenart/​vegeta/​releases]]   * [[https://​github.com/​tsenart/​vegeta/​releases|github/​tsenart/​vegeta/​releases]]
-  * [[https://​val.bmstu.ru/​unix/​WWW/​vegeta_12.11.0_linux_amd64.tar.gz]]+  * [[https://​val.bmstu.ru/​unix/​WWW/​vegeta_12.12.0_linux_amd64.tar.gz]]
  
   * [[https://​serverfault.com/​questions/​389645/​ftp-tcp-server-failing-looping|ftp/​tcp server failing (looping)]]   * [[https://​serverfault.com/​questions/​389645/​ftp-tcp-server-failing-looping|ftp/​tcp server failing (looping)]]
Line 235: Line 230:
   * в качестве external-host можно использовать gate   * в качестве external-host можно использовать gate
 <​code>​ <​code>​
 +cmd> route add 172.16.1.0 mask 255.255.255.0 10.5.N.178
 +
 external-host#​ curl http://​172.16.1.X external-host#​ curl http://​172.16.1.X
  
Line 269: Line 266:
 === 4.4 GitLab CI для Docker images === === 4.4 GitLab CI для Docker images ===
  
-  * Размещаем каталог webd в On-Premise gitlab пользуясь инструкцией к проекту +  * Размещаем каталог webd в [[Сервис Git#On-Premise gitlab]] пользуясь инструкцией к проекту 
-  * Автоматизируем сборку образа используя [[Средства программирования shell#​Проверка синтаксиса]] и [[Инструмент GitLab#​Пример shell docker]] GitLab CI/CD, не забыв назначить метки Gitlab Runner. Можно обсудить добавление перемнных ​ в проект и вывод их через env+  * Автоматизируем сборку образа используя [[Средства программирования shell#​Проверка синтаксиса]] и [[Инструмент GitLab#​Пример shell docker]] GitLab CI/CD, не забыв назначить метки Gitlab Runner. Можно обсудить добавление переменных в проект и вывод их через env
  
 === 4.5 CD приложения webd с использованием docker-compose === === 4.5 CD приложения webd с использованием docker-compose ===
Line 302: Line 299:
 === 5.2 Базовые объекты k8s === === 5.2 Базовые объекты k8s ===
  
-  * Изучаем [[Система Kubernetes#​Базовые объекты k8s]] (gitlab-runner@server:​~/​webd$) +  ​* [[Настройка командных интерпретаторов]] (gitlab-runner@server) 
-  * Для понимания работы [[Система Kubernetes#​Ingress]] (понадобится в следующем курсе),​ настраиваем [[Сервис HTTP#NGINX]] для доступа к приложению webd в minikube с хост системы ​+  ​* Изучаем [[Система Kubernetes#​Базовые объекты k8s]]  
 +  * Для понимания работы [[Система Kubernetes#​Ingress]] (понадобится в следующем курсе),​ настраиваем [[Сервис HTTP#Прокси "​красивого"​ URL в приложение (пример 3)|Nginx]] для доступа к приложению webd в minikube с хост системы ​ 
 +  * Настраиваем [[Сервис Keepalived#​Настройка балансировки нагрузки|Keepalived]] и тестируем [[Утилита curl]]
   * Тестируем livenessProbe с extern-host   * Тестируем livenessProbe с extern-host
 <​code>​ <​code>​
Line 310: Line 309:
 ... ...
 172.16.1.X ​    ​webd.corpX.un 172.16.1.X ​    ​webd.corpX.un
 +</​code>​
 +
 +  или
 +
 +<​code>​
 +ext-host:~# echo "GET http://​webd.corpX.un"​ | vegeta attack -duration=20s -rate=400 -connect-to webd.corpX.un:​80:​172.16.1.X:​80 | vegeta report
 </​code>​ </​code>​
  
 === 5.3 Deploy в k8s === === 5.3 Deploy в k8s ===
  
-  * Автоматизируем deploy используя [[Инструмент GitLab#​Пример shell Kubernetes]] GitLab CD (см. выше)сталкиваемся с необходимостью править версию в манифесте,​ рассмотрев вариант envsubst видимнеобходимость в Helm +  * Автоматизируем deploy используя [[Инструмент GitLab#​Пример shell Kubernetes]] GitLab CD (см. выше) 
-  * В финале,​ можно "собрать"​ новую версию приложения ​на gate из под учетной записи student+  * Тестируем "​выкатку" новой версии приложения через запрос несуществующего файла и [[Система Kubernetes#​Версии deployment]] 
 +  * Столкнувшись ​с необходимостью править версию в манифесте,​ рассмотрев вариант ​с envsubst ​в [[Инструмент GitLab#​Пример shell Kubernetes]], ​видим необходимость в Helm 
 +  * В финале,​ можно "закоммитить" новую версию приложения прямо в GitLab
  
  
devops1._основные_инструменты.1726137068.txt.gz · Last modified: 2024/09/12 13:31 by val