User Tools

Site Tools


методологии_devops

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
Last revision Both sides next revision
методологии_devops [2022/09/12 12:24]
val [Примерный план]
методологии_devops [2022/09/19 12:30]
val [Примерный план]
Line 31: Line 31:
 </​code>​ </​code>​
  
-  * Настраиваем ​четь на gate и server +  * Настраиваем ​сеть на gate и server 
-  * На server запускаем сервис DNS +  * На server запускаем сервис DNS (gate пока БЕЗ dhcp)
   * На gate и server resolv.conf + на host системе dns для vbox адаптера   * На gate и server resolv.conf + на host системе dns для vbox адаптера
   * На server запускаем установку [[Сервис Ansible]] и [[Инструмент GitLab]]   * На server запускаем установку [[Сервис Ansible]] и [[Инструмент GitLab]]
Line 96: Line 96:
 </​code>​ </​code>​
  
-ТЗ: Горизонтально масштабируем веб сервер используя общий каталог +  ​- Разрабатываемнакомимся с [[Технология Docker]] (без sftp) на gitlab-runner@server (удобно для тестов ​CI/CD из командной ​строки)
- +
-  - [[Сервис NFS]] на server +
-  - [[Сервис NFS#​Установка nfs клиента]] на nodeN (может добавить в [[Сервис Ansible]] редактирование fstab?) +
-  ​- Разрабатываем на node1 используя [[Технология Docker]] (без sftp) +
-  ​Готовимся ​масштабировать через [[Технология Docker#​docker-compose]]+
   - Создаем проект webd в [[Сервис Git#​On-Premise gitlab]]   - Создаем проект webd в [[Сервис Git#​On-Premise gitlab]]
   - Включаем [[Инструмент GitLab#​GitLab Docker Registry]]   - Включаем [[Инструмент GitLab#​GitLab Docker Registry]]
-  - Cохраняем образ ​в  ​используя [[Технология Docker#​Локальные репозитории]] +  - Cохраняем образ используя [[Технология Docker#​Локальные репозитории]] 
-  - Используем ссылку на образ ​в docker-compose +  - Автоматизируем сборку образа используя ​[[Средства программирования shell#​Проверка синтаксиса]] и (уже на локальной системе) ​[[Инструмент GitLab#GitLab CI/CD]] не забыв [[Технология Docker#​Предоставление ​прав непривилегированным пользователям]] на docker для пользователя gitlab-runner 
-  - Используя [[Инструмент GitLab#Подключение ​через ​API]] скачиавем на node2 и node3 файл [[Технология Docker#docker-compose]], настраиваем [[Технология Docker#​Локальные репозитории]] и пробуем масштабировать+ 
 +ТЗ: Горизонтально масштабируем веб сервер используя общий каталог ​на node1,2,3 
 + 
 +  - [[Сервис NFS]] на server 
 +  - [[Сервис NFS#​Установка nfs клиента]] на node1,2,3 (может добавить в [[Сервис Ansible]] редактировать fstab не будем, поскольку это временное решение) 
 +  - Используя vagrant ansible provisioning устанавливаем docker и docker-compose на node1,2,3 
 +  - Настраиваем [[Технология Docker#​Локальные репозитории]] на node1,2,3 
 +  - Готовимся масштабировать добавив в проект файл [[Технология Docker#​docker-compose]] с ссылкой на образ 
 +  - Используя [[Инструмент GitLab#​Подключение через API]] скачиваем на node1,2,3 файл [[Технология Docker#​docker-compose]] и пробуем масштабировать
  
-  * Что пришлось делать "​вручную":​ выбирать узлы, монтировать nfs, загружать файл docker-compose,​ выяснять порты - выход: [[Система Kubernetes]]+  * Считаем,​ что пришлось делать "​вручную":​ выбирать узлы, монтировать nfs, загружать файл docker-compose,​ выяснять порты - выход: [[Система Kubernetes]]
  
-=== Разработка и распространение ПО с использованием ===+=== Разработка и распространение ПО с использованием ​Kubernetes ​===
  
-  - Студенты и преподаватель ​[[Система Kubernetes#​Установка minikube]], подключение с   +  - Производим ​[[Система Kubernetes#​Установка minikube]] ​для gitlab-runner@server (для доступа к репозиторию,​ на нем же, понадобится включить [[Сервисы Gateway и routing]]) 
-  - преподаватель [[Система Kubernetes#​Кластер Kubernetes]] +  - Преподаватель ​разворачивает ​[[Система Kubernetes#​Кластер Kubernetes]] ​на node1,2,3 
-  - [[Система Kubernetes#Подключение к кластеру]]+  - [[Система Kubernetes#Инструмент командной строки kubectl]] для gitlab-runner@server 
 +  - Изучаем [[Система Kubernetes#​Базовые объекты k8s]] 
 +  - Автоматизируем deploy используя [[Инструмент GitLab#​GitLab CI/CD]], сталкиваемся с необходимостью править версию в манифесте,​ рассмотрев вариант envsubst приходим ​к Helm 
 +  - Изучаем тему [[Система Kubernetes#​Ingress]] для minikube и используем [[Система Kubernetes#​Helm]] для его развертывании в кластере 
 +  - Изучаем тему [[Система Kubernetes#​Helm]] на примере разработки чарта для приложения webd 
 +  - Возвращаемся к deploy используя [[Инструмент GitLab#​GitLab CI/CD]] и чарта [[Система Kubernetes#​Helm]] приложения webd
 ==== ToDo ==== ==== ToDo ====
  
методологии_devops.txt · Last modified: 2022/09/19 13:17 by val