У GitOps есть история, чтобы рассказать вам об оптимизации машинного обучения Kubeflow, рабочих нагрузках и обо всем остальном - о рабочих процессах. К началу 2010-х годов DevOps приобрел большую популярность и из-за ИТ-потребностей расширился, чтобы охватить всю экосистему информационных технологий. До сегодняшнего дня и из будущего эта ИТ-экосистема создает очень сложные технологии DevOps. Точно так же сейчас происходит то же самое с GitOps, я имею в виду смену парадигмы. GitOps находится здесь примерно с тех пор, как впервые был запущен в 2017 году. Очень хорошо зарекомендовал себя как действительно мощная альтернатива традиционным средам CI / CD.

С развитием контейнерных технологий они стали неотъемлемой частью культуры DevOps. GitOps - это удобный способ масштабного управления кластером k8s и доставки приложений. Парадигма или набор практик, которые побуждают разработчиков выполнять задачи, которые обычно относятся к сфере ИТ-операций. Пожалуйста, спросите Google. Он расскажет вам все, что вам нужно знать, что такое GitOps.

С другой стороны, здесь есть технология GitOps, с которой вы, возможно, уже работали раньше или только что слышали о ней, под названием «Argo CD». На самом деле, это довольно популярный, появляющийся инструмент на радаре. Более 60+ компаний используют это в своей производственной среде каждый день. Argo CD следует шаблону GitOps использования репозиториев Git как источника истины для определения желаемого состояния приложения. Автоматизирует развертывание желаемых состояний приложения в указанных целевых средах или существующих манифестах k8s, указанных в:

- настраивать приложения,

- схемы штурвала,

- приложения ksonnet,

- файлы jsonnet,

- каталог манифеста yaml / json,

- любой настраиваемый инструмент управления конфигурацией, настроенный как плагин управления конфигурацией

Развертывания приложения могут отслеживать обновления веток, тегов или прикрепленные к определенной версии манифестов при фиксации Git. Согласно официальному объяснению ArgoCD на их веб-сайте:

Argo CD реализован как контроллер kubernetes, который непрерывно отслеживает запущенные приложения и сравнивает текущее состояние в реальном времени с желаемым целевым состоянием (как указано в репозитории Git). Развернутое приложение, живое состояние которого отличается от целевого, считается OutOfSync. Argo CD сообщает и визуализирует различия, предоставляя возможности для автоматической или ручной синхронизации текущего состояния с желаемым целевым состоянием. Любые изменения, внесенные в желаемое целевое состояние в репозитории Git, могут быть автоматически применены и отражены в указанных целевых средах.

Все эти особенности делают ArgoCD однозначно подходящим для конвейеров Kubeflow. Kubeflow уже очаровывает свои конвейеры с помощью Argo Workflows. Argo Workflow содержит манифесты Kustomize, которые указывают на восходящий манифест каждого компонента Kubeflow и предоставляют людям простой способ изменить развертывание в соответствии со своими потребностями. Манифесты приложений ArgoCD для каждого компонента будут использоваться для развертывания Kubeflow. Предполагаемое использование - это форк этого репозитория, выполнение желаемых настроек, запуск сценария для изменения спецификаций приложения ArgoCD, чтобы он указывал на их форк этого репозитория, и, наконец, применение главного приложения ArgoCD, которое будет развертывать все другие приложения. Развертывание как minikube, kind, MicroK8s, виртуальных машин или как облачный экземпляр не имеет значения. Заявляет об истинной простоте.

Больше чем это;

  • Ускоряет среднее время развертывания, увеличивает производительность.
  • Сосредоточьтесь на коде, а не на развертывании контейнера, оставьте позади.
  • Благодаря способности Git выполнять откат и разветвление вы получите стабильные и воспроизводимые откаты.
  • Больше консенсуса по безопасности