Супер-интенсив “CI/CD или Непрерывная поставка с Docker и Kubernetes” [RUS, 2021]


Изучаемые темы:

  • Введение в Kubernetes
  • Непрерывная поставка в Kubernetes c Helm в Gitlab
  • Интеграция Elastic и Kibana c Kubernetes (Практика не была рассмотрена).


Задача

Повторить изучаемый материал в локальном окружении со всеми перечисленными технологиями.


Обсуждение на github

https://github.com/webmak1/itsimple.ru/discussions/1


Итак, что мы имеем:


  • Исходников проектов нет. (Предлагаю использовать похожее. Если кто найдет репо с оригинальными исходниками проекта, поделитесь)
  • Работа происходит на подготовленных стендах в облаках google. Планируется поднять свое окружение.


UPD. Возможно коды лежат здесь: https://github.com/express42/reddit/tree/microservices-docker/


Инсталляция GitLab.

Настройка docker для запуска job’ов.


Клонируем приложение и пока работаем с контентом из каталога /apps/v1.


Kubernetes:


Можно обойтись minikube.

Но при желании, можно использовать скрипты для разварачивания локального kubernetes кластера, можно взять здесь.

С обычным kubernetes тоже работает. Но требуется больше ресурсов.


01. Сборка и push контейнеров в registry

02. Запуск приложения в MiniKube с помощью Helm

03. Настрока хоста с GitLab для работы с MiniKube

04. Deploy приложения с помощью GitLab и Helm в MiniKube

05. Deploy приложения с помощью GitLab и Helm в MiniKube, обновляющегося при коммите или релизе

06. Prometheus & Grafaran

07. ELK & KIBANA