Skip to content

dimasikks/universal_HELM_DEPLOY

Repository files navigation

Деплой микросервисов k8s

Описание

Репозиторий для деплоя микросервисов через helm в k8s, здесь содержатся:

  • директории и файлы для статических приложений, не зависящих от разработки
  • конфигурационные файлы следующего назначения:
    • k8s-helm-deploy.yml - подключаемый для деплоя файл
    • k8s-helm-deploy-example.yml - пример файла для подключения helm деплоя
    • values-example.yml - пример файла values.yaml, который заполняется для каждого микросервиса отдельно
    • k8s-configuration.yml - для установки параметров ноды, на которой все запущено

Использование

Для подключения helm деплоя необходимо:

  • подключить файл k8s-helm-deploy.yml по инструкции из файла k8s-helm-deploy-example.yml
  • в проекте с микросервисом создать папку deploy/, в ней в свою очередь создать 2 файла:
    • values.yml - основной файл конфигурации, описывающий приложение, аналог docker-compose
    • configmap.yml - файл вида ключ: значение, просто значения, которые с помощью kubectl при деплое преобразуются в configmap
  • убедиться, что есть доступ в данный проект - path/to/your/project/in/gitlab/ci

Деплой подключен - успешное завершение пайплайна означает установленный helm релиз

Дополнительно

  • успешное выполнение означает установленный helm релиз, но не означает, что приложение не упало и работает корректно, желательно проверять состояние после деплоя через kubectl describe, либо обзорно через kubectl get pods
  • на данный момент поддерживается 3 вида ресурсов: deployment, statefulset, service, ресурсы статичного типа: ingress, pvc, pv etc настраиваются вручную инженерами перед деплоем (pv, pvc) или после (ingress). Ресурс configmap обслуживается отдельно - через деплой
  • на данный момент не поддерживается собственная версионность - чарты обновляются через helm upgrade повышая версию в неустановленном порядке (может возникнуть путаница в helm history), если нужно - можно настроить

About

Universal chart for deploying microservice architecture via Helm using Gitlab Ci Pipeline

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors