Шаблон backend сервера на Golang — часть 3 (Docker, Docker Compose, Kubernetes (kustomize)
Первая часть шаблона посвящена HTTP серверу.
Вторая часть шаблона посвящена прототипированию REST API.
Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).
Четвертая часть будет посвящена развертыванию в Kubernetes с Helm chart и настройке Horizontal Autoscaler.
Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.
Для корректного развертывания в Kubernetes, в шаблон пришлось внести изменения:
- способа конфигурирования — YAML, ENV, Kustomize
- подхода к логированию — переход на zap
- способа развертывания схемы БД — переход на liquibase
- добавление метрик prometheus
Ссылка на новый репозиторий.
Шаблон goapp в репозитории полностью готов к развертыванию в Docker, Docker Compose, Kubernetes (kustomize), Kubernetes (helm).
Настоящая статья не содержит детального описание используемых технологий
Содержание
- Изменение подхода к конфигурированию
- Добавление метрик prometheus
- Изменение подхода к логированию
- Развертывание схемы БД
- Сборка Docker image
- Сборка Docker-Compose
- Схема развертывания в Kubernetes
- Подготовка YAML для Kubernetes
- Kustomization YAML для Kubernetes
- Тестирование Kubernetes с kustomize