Рубрика «gitops»

Кластер без CNI — это не «почти рабочий» кластер. В нём не поднимется ни CoreDNS, ни сам Flux, а манифест, который поставил бы сетевой плагин, применить будет некому. Разбираю, из чего складывается этот круг, каким порядком действий он разрывается и какая ловушка ждёт на последнем шаге

Flux управляет Helm, Helm ставит Cilium, Cilium даёт сеть обратно Flux — и эта связь разорвана

Шаг 1. Подготовка окружения и загрузка Docker образов

Для этого используем sh скрипт pull‑images‑setup.sh, который выполняет несколько действий: устанавливает k3d и Helm, скачивает необходимые docker образы и создает локальные теги для них, которые будут использоваться через локальный реестр.

Перед запуском скрипта нужно убедиться, что установлены необходимые инструменты:

  • Docker Desktop — понадобится для запуска контейнеров и дальнейшего создания k3s‑кластера через k3d

  • App Installer — предоставляет пакетный менеджер winget, через который скрипт установит k3d и Helm

  • Git BashЧитать полностью »

6 pro-фишек FluxCD. Выжимаем все соки из GitOps - 1

Если вы применяете в своей инфраструктуре GitOps-подход, то вам точно знакомы такие решения по автоматизации доставки для Kubernetes, как FluxCD и ArgoCD. Это популярные инструменты, которые позволяют синхронизировать наполнение отслеживаемого Git-репозитория и отобразить его в кластере Читать полностью »

Предыстория

Когда изучаешь DevOps по курсам — всё выглядит просто. Запустил minikube, поднял pod, посмотрел на kubectl get pods — красота. А потом пытаешься сделать что-то настоящее и понимаешь: между “hello world в Kubernetes” и реальной инфраструктурой — пропасть.

Я решил эту пропасть пройти. Взял 5 виртуальных машин на VMware Workstation и построил на них production-ready кластер с нуля. С CI/CD, GitOps, мониторингом, высокой доступностью и реальным приложением.

Расскажу что получилось, как именно это работает — и главное, какие грабли я собрал по дороге. Их было немало.

Окружение:Читать полностью »

Стратегии деплоя: как мы пришли к использованию Argo CD - 1

Привет! Меня зовут Егор Салиев, я DevOps-инженер в провайдере IT-решений Hilbert Team. Сегодня хочу затронуть тему, которую недавно обсуждали на Kuber MeetUp в Selectel, и которая будет интересна инженерам, занимающимся настройкой CI/CD и деплоем. Рассмотрим, как со временем менялась практика развертывания приложений в Kubernetes. Обсудим переход от ручного процесса к автоматизации и сравним две модели деплоя: push и pull.

В результате мы дойдем до современного подхода — GitOps с Argo CD. Такой метод помогает компаниям стандартизировать процессы, уменьшить количество ошибок и сбоев, ускорить вывод продукта на рынок, а также сократить расходы на инфраструктуру.Читать полностью »

Очень удобным способом настройки кластеров kubernetes является использование GitOps подхода. Его суть заключается в том, что выделяется отдельный git репозиторий, который становится хранилищем всех манифестов, определяющих состояние кластера. Таким образом мы получаем единое хранилище истины и единую точку конфигурации для управления кластером. Одним из пионеров и проповедников этого подхода являлась компания WeaveWorks, в рамках которой было разработано множество интересных решений, среди которых есть и GitOps‑оператор FluxCDЧитать полностью »

Привет, меня зовут Григорий. На момент написания статьи я работаю DevOps'ом в одной большой компании. Завуалируем её название как «та, что хочет вращать планету». И в этой статье я расскажу, как наша команда ChatOps внедряла (спойлер — успешно, но нет предела совершенству).

Предыстория

Читать полностью »

Что такое GitOps и почему он (почти) бесполезен. Часть 2 - 1
Одной каноничной синей изоленты может не хватить

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

Первая часть статьи вызвала живое обсуждение. Мысль, что git является не единственным источником истины при наличии связанных артефактов во внешних системах (особенно если эти артефакты имеют потенциальные проблемы с повторяемостью сборок), встретила некоторые возражения. Но в этом вопросе я предлагаю следовать закону Мерфи: если неприятность может случиться, то она случается. Рано или поздно не отображаемые в git проблемы внешних зависимостей выстрелят вам в ногу. Эти риски нужно постоянно держать в голове и по возможности митигировать.

Какие ещё потенциальные сложности могут встретить вас при следовании пути GitOps и какие могут быть альтернативы? Давайте разберёмся вместе.
Читать полностью »

В этой статье мы рассмотрим новый экспериментальный режим совместной работы Open Source-утилиты werf и инструмента для непрерывной доставки Argo CD, объединяющий в себе возможности и удобства обоих проектов в рамках одного CI/CD-процесса. Сейчас идет активная разработка этих возможностей werf, но в первом приближении функционал уже доступен и готов к использованию.

Новые возможности werf: CI-CD на основе werf и Argo CD - 1

Читать полностью »

Теоретическая часть

Для начала стоит отметить, что в ArgoCD по умолчанию нет возможности скрытно управлять credentials (логинами, паролями, токенами, etc). В документации по ArgoCD приведён список возможных решений по управлению credentials. По моему мнению, наиболее близок к нативному — вариант работы с секретами посредством argocd-vault-plugin (AVP) с использованием Kubernetes auth в Vault. Схема получается следующей: argocd-repo-server авторизуется в Vault при помощи Service Account token, в манифесте Secret в < ... > подставляет небходимое значение, и создаёт секрет.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js