This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devops1._основные_инструменты [2024/09/12 13:38] 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 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 | ||