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/15 10:43]
val [Лабораторные работы: Тема лабораторных работ]
devops1._основные_инструменты [2025/01/27 10:17] (current)
val [Дополнительные материалы]
Line 32: Line 32:
 cd cd
  
-test -d conf && rm -conf+test -d conf && rm -rf conf
  
 git clone http://​val.bmstu.ru/​unix/​conf.git git clone http://​val.bmstu.ru/​unix/​conf.git
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 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 244: Line 241:
 === 4.2 Использование технологии Docker и docker-compose для масштабирования приложения webd на одном узле === === 4.2 Использование технологии Docker и docker-compose для масштабирования приложения webd на одном узле ===
  
-  * Устанавливаем [[Технология Docker]] на server, и рассматриваем [[Технология Docker#​Создание ​контейнера для приложения вручную]] и образа из него (из под root)+  * Устанавливаем [[Технология Docker]] на server, и рассматриваем [[Технология Docker#​Создание образа для приложения вручную]] и образа из него (из под root)
   * Рассматриваем [[Технология Docker#​Запуск в режиме демона и подключение к контейнеру]]   * Рассматриваем [[Технология Docker#​Запуск в режиме демона и подключение к контейнеру]]
   * Изучаем [[Технология Docker#​Процессы контейнера и системы]] и [[Технология Docker#​Анализ параметров запущенного контейнера]] (преподаватель,​ можно на node1, пока у всех ставится docker)   * Изучаем [[Технология Docker#​Процессы контейнера и системы]] и [[Технология Docker#​Анализ параметров запущенного контейнера]] (преподаватель,​ можно на node1, пока у всех ставится docker)
  
   * Для удобства,​ выполнить [[Настройка командных интерпретаторов]]   * Для удобства,​ выполнить [[Настройка командных интерпретаторов]]
-  * Используя [[Технология Docker#​Предоставление прав непривилегированным пользователям]] для gitlab-runner (пригодится для процесса CD в minikube), знакомимся с [[Технология Docker#​Создание ​контейнера для приложения с использованием Dockerfile]]+  * Используя [[Технология Docker#​Предоставление прав непривилегированным пользователям]] для gitlab-runner (пригодится для процесса CD в minikube), знакомимся с [[Технология Docker#​Создание образа для приложения с использованием Dockerfile]]
  
   * [[Технология Docker#​Запуск в режиме демона и подключение к контейнеру]] несколько копий вручную,​ и, через [[Сервис Keepalived#​Настройка балансировки нагрузки]],​ повторяем нагрузочное тестирование (преподаватель)   * [[Технология Docker#​Запуск в режиме демона и подключение к контейнеру]] несколько копий вручную,​ и, через [[Сервис Keepalived#​Настройка балансировки нагрузки]],​ повторяем нагрузочное тестирование (преподаватель)
Line 297: Line 294:
 === 5.1 Установка и подключение к k8s === === 5.1 Установка и подключение к k8s ===
  
-  * Может закончиться место на диске VM server и понадобиться [[Управление ПО в Linux#​Удаление архива установленных пакетов]] плюс отключение [[Инструмент GitLab#​GitLab Prometheus]] или [[Управление файловыми системами в Linux#​Расширение существующего логического тома]] 
   * Производим [[Система Kubernetes#​Установка minikube]] для gitlab-runner@server (для доступа к репозиторию,​ на нем же, понадобится включить [[Сервисы Gateway и routing]])   * Производим [[Система Kubernetes#​Установка minikube]] для gitlab-runner@server (для доступа к репозиторию,​ на нем же, понадобится включить [[Сервисы Gateway и routing]])
  
 === 5.2 Базовые объекты k8s === === 5.2 Базовые объекты k8s ===
  
-  * [[Настройка командных интерпретаторов]] (gitlab-runner@server) 
   * Изучаем [[Система Kubernetes#​Базовые объекты k8s]]    * Изучаем [[Система Kubernetes#​Базовые объекты k8s]] 
   * Для понимания работы [[Система Kubernetes#​Ingress]] (понадобится в следующем курсе),​ настраиваем [[Сервис HTTP#​Прокси "​красивого"​ URL в приложение (пример 3)|Nginx]] для доступа к приложению webd в minikube с хост системы ​   * Для понимания работы [[Система Kubernetes#​Ingress]] (понадобится в следующем курсе),​ настраиваем [[Сервис HTTP#​Прокси "​красивого"​ URL в приложение (пример 3)|Nginx]] для доступа к приложению webd в minikube с хост системы ​
   * Настраиваем [[Сервис Keepalived#​Настройка балансировки нагрузки|Keepalived]] и тестируем [[Утилита curl]]   * Настраиваем [[Сервис Keepalived#​Настройка балансировки нагрузки|Keepalived]] и тестируем [[Утилита curl]]
   * Тестируем livenessProbe с extern-host   * Тестируем livenessProbe с extern-host
-<​code>​ 
-extern-host#​ cat /etc/hosts 
-</​code><​code>​ 
-... 
-172.16.1.X ​    ​webd.corpX.un 
-</​code>​ 
- 
-  или 
  
 <​code>​ <​code>​
Line 325: Line 312:
   * Тестируем "​выкатку"​ новой версии приложения через запрос несуществующего файла и [[Система Kubernetes#​Версии deployment]]   * Тестируем "​выкатку"​ новой версии приложения через запрос несуществующего файла и [[Система Kubernetes#​Версии deployment]]
   * Столкнувшись с необходимостью править версию в манифесте,​ рассмотрев вариант с envsubst в [[Инструмент GitLab#​Пример shell Kubernetes]],​ видим необходимость в Helm   * Столкнувшись с необходимостью править версию в манифесте,​ рассмотрев вариант с envsubst в [[Инструмент GitLab#​Пример shell Kubernetes]],​ видим необходимость в Helm
-  * В финале,​ можно "​закоммитить"​ новую версию приложения ​на gate из под учетной записи student+  * В финале,​ можно "​закоммитить"​ новую версию приложения прямо в GitLab
  
  
Line 337: Line 324:
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
  
- +  * [[https://​rutube.ru/​video/​010673aafbfa7669938d1c3fec3a2ed8|Зачем нужен Kubernetes?​]] 
 +  * [[https://​rutube.ru/​video/​299b61b457e95203906d9e60878993e3|Вход в Jenkins для администратора Linux]] 
 +  * [[https://​rutube.ru/​video/​5ba29eaa5f03107ea8d4b686ae7551a6|Развертывание инфраструктуры в On-premise облаке с использованием Terraform]]
  
  
devops1._основные_инструменты.1726386206.txt.gz · Last modified: 2024/09/15 10:43 by val