Эволюция управления конфигурациями: IaC против GitOps

Опубликовано: 2022-05-23

Оглавление

Эволюция управления конфигурациями

Неправильные структуры являются основной причиной инцидентов, связанных с безопасностью в Kubernetes-Orchested или других контейнерных средах. Без правильной настройки приложения могут столкнуться с проблемами, начиная от несовместимости и конфликтов и заканчивая сбоями в работе, уязвимостями в системе безопасности и сбоями в работе. Управление конфигурацией является важной частью поддержания желаемого стабильного состояния компьютеров в жизненном цикле разработки программного обеспечения.

Наследие управления конфигурацией

В то время, когда дело доходило до управления изменениями в ИТ-ресурсах, ИТ-команда сосредоточивалась в первую очередь на уровне сервера, чтобы увидеть, не вызовут ли какие-либо изменения в оборудовании проблемы на оставшемся уровне. Каждый сервер был настроен вручную с особой тщательностью и досугом. Виртуальные машины привнесли в этот процесс большую гибкость и эффективность.

Код инфраструктуры (IaC) — это большой шаг в управлении конфигурацией, когда все оборудование определяется как код. Инструменты IaC, такие как облачные платформы, Chef, Puppet и Ansible, сыграли ключевую роль в упрощении и масштабировании управления инфраструктурой. Они помогли ускорить предоставление инфраструктуры и сократить расходы за счет улучшения использования ресурсов.

За прошедшие годы облачные платформы и, в частности, контейнеры произвели революцию в способах предоставления инфраструктуры. С внедрением крупного облака и преобразованием Git в текущую систему управления версиями GitOps стал последним поворотом в эволюции управления архитектурой. GitOps выходит далеко за рамки IaC, когда дело доходит до кодирования всего. «Все» здесь включает инфраструктуру, сеть, данные и приложения.

Kubernetes и декларативный подход к инфраструктуре

Как и в программировании, существует два подхода к предоставлению инфраструктуры — уведомительный и обязательный.

Убедительный подход требует, чтобы вы указали соответствующие шаги, которые необходимо предпринять для предоставления или изменения инфраструктуры. Он дает опыт использования инфраструктуры. Он дает опыт использования инфраструктуры. С другой стороны, подход с уведомлением больше подходит для современного облачного подхода, определенного Kubernetes. Вам нужно только определить желаемое состояние системы и оставить ее функциональность сайту вроде Kubernetes. Инфраструктура Kubernetes упрощает как автоматизацию, так и настройку уведомлений.

Переход от DevOps к GitOps

GitOps, задуманный в 2017 году, представляет собой современную функциональную платформу для управления кластерами Kubernetes и доставки приложений, ориентированных на Git. Он получает лучшие черты DevOps, такие как инструмент CI / CD, сотрудничество между Dev и Ops, автоматизацию процессов и использует их в конвейере доставки программного обеспечения, используя Git в качестве источника подлинности.

DevOps обеспечил сотрудничество между командами разработки и эксплуатации и привел к культурным изменениям в области информационных технологий. Но меньше, чем ожидалось, компании переняли функции непрерывной интеграции и непрерывного распространения, но не перешли к непрерывному развертыванию.

Именно здесь GitOps выводит вещи на новый уровень. При использовании подхода GitOps команды не только определяют, но и управляют сортировкой и модификацией своей инфраструктуры из репозитория Git. Вносить изменения в инфраструктуру теперь так же просто, как создать запрос на перетаскивание — вы можете отлавливать опечатки, делать регулярные проверки или изменять залог при необходимости. Используя Git, разработчики теперь могут генерировать код, а разработчики операционных систем могут автоматически использовать этот код в рабочей среде.

Использование Flux и Helm для управления конфигурацией на основе GitOps

Kubernetes позволяет интегрировать различные инструменты для автоматизации планирования, сортировки и мониторинга контейнеров. Одним из таких инструментов является Helm, который стал очень популярным в экосистеме GitOps.

Helm — это мощный менеджер пакетов для Kubernetes, который упрощает определение, установку и развертывание наиболее часто повторяющихся приложений и служб, используемых в различных ситуациях. Helm Charts привносят большую пользу в среду непрерывного распространения, предоставляя организованный дизайн упаковки для управления несколькими файлами YAML с повторяющимися и жестко заданными значениями.

Управление конфигурацией: IaC против GitOps

Короче говоря, Helm помогает упростить задачу при измерении сложных выходных данных и управлении ими. Но он должен быть связан с основными репозиториями Git, определенными спецификациями кластера K8s и приложений. Флюс упрощает задачу.

Flux — это набор агентов GitOps с открытым исходным кодом, которые действуют как мост между репозиториями Git и кластерами Kubernetes. Диаграмма Helm — это инструмент автоматизации сортировки уведомлений, который поддерживает согласованность кода за счет автоматизации вывода при внесении изменений в код. Flux синхронизирует эти изменения из Git в кластеры Kubernetes.

Это делается с помощью пользовательских ресурсов HelmRelease, которые запускают оператор руля и синхронизируют изменения в коде диаграммы. Не говоря уже о том, что Flux поставляется с обширными функциями обнаружения дрейфа, а также другими интересными функциями.

Долгое время управление архитектурой касалось оборудования и инфраструктуры, но с тех пор мы прошли долгий путь. С введением GitOps и инструментов, упрощающих его, у разработчиков и разработчиков платформ появилось множество вариантов для проектирования инфраструктуры, которую они хотят, — в форме объявления.

Weave GitOps использует Flux и Helm и обеспечивает эффективные рабочие процессы управления конфигурацией из репозиториев jit во всех способах создания кластеров Kubernetes. Одной из отличительных особенностей Weave GitOps является способность создавать надежные приложения. Добавляет надежную политику доставки служебных программ в виде кода в GitOps, безопасность и соответствие требованиям, регрессию приложений и реализацию стандартов кодирования от исходного кода до рабочей среды. Это сочетание безопасных конвейеров GitOps и непрерывного тестирования безопасности с помощью закодированных политик, которые обеспечивают передовые практики безопасности и высокие стандарты безопасности на протяжении всего жизненного цикла разработки программного обеспечения. GitOps — это также способ управления конфигурацией современных облачных систем, а Weave GitOps делает этот подход не только простым, но и безопасным.

пошаговое руководство по созданию учетной записи gmail

веб-сканирование и веб-скрейпинг, в чем разница