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