Home » Миграция Flux v1 на Flux v2 – REXP Gitops

Миграция Flux v1 на Flux v2 – REXP Gitops

Эта статья является первой в серии из двух о переходе с Flux v1 на Flux v2:

  • Миграция с Flux v1 на Flux v2: официальный метод
  • Миграция Flux v1 на Flux v2: масштабная обратная связь (продолжение следует)

В предыдущем статья о Гитопсемы быстро упомянули Flux наряду с ArgoCD. Сегодня мы сосредоточимся на Потокболее конкретно и более подробно.

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

Напоминаем, что такое Flux?

Флюс – это инструмент для GitOps. Проще говоря, он позволяет настроить Kubernetes и работает в режиме pull.

С одной стороны у нас есть Поток, выполняемый в кластере Kubernetes и с другой репозиторий git со всеми ресурсами для развертывания на кластере. Flux будет регулярно проверять репозиторий git и гарантировать, что объявленные там ресурсы правильно применяются к кластеру. Таким образом, тем, кто отвечает за настройку и эксплуатацию кластера Kubernetes, достаточно отправить изменения в git, чтобы они были развернуты в кластере Kubernetes спасибо Флюксу.

С октября 2020 года Flux v1 считается на техобслуживании, с новыми выпусками, целью которых является только исправление критических ошибок. Flux v2 объявлен жизнеспособным и предпочтительным по сравнению с версией v1 с 30 июня 2021 г. График миграции и поддержки доступен по адресу Документация Flux v2.

Переключиться с Flux v1 на v2

Переработанная архитектура Flux

Во Flux v2 мы переходим от оператора монолитный (часто в сопровождении оператора Helm) к архитектуре с выделенный контроллер по функцияма лучшая интеграция с Kubernetes (со многими пользовательские ресурсы) и др. интерфейс командной строки контролировать все это.

Read more:  Влияние однократной внутривенной дозы транексамовой кислоты на видимую и скрытую кровопотерю при заднем поясничном межтеловом спондилодезе: рандомизированное клиническое исследование

в Контроллеры Flux v2 по умолчаниюна :

  • исходный контроллеркоторый заботится о сохранении GitРепозиторий или HelmRepository чтобы обнаружить изменение
  • настроить-контроллеркоторый будет применять сверку в соответствии с Кастомизация
  • штурвал-контролеркто будет управлять ХелмВыпуск и их примирение
  • контроллер уведомленийкоторый позволяет отправлять уведомления

И когда мы используемобновление автоматизации изображенийтакже необходимо добавить:

  • контроллер-отражателя изображениякоторый будет использовать Репозиторий изображений и др. Политика изображения для перечисления доступных тегов и их обновления
  • контроллер автоматизации изображенийкоторый применит обновление изображения

Прекращение поддержки некоторых исторических компонентов.

Поддержка Шлем v2 был удален. Эта версия Helm устарела с ноября 2020 года, поэтому это не должно быть проблемой для большинства пользователей, которые, вероятно, уже имеют перешел на Helm v3.

минимальная версия Kubernetes, изначально необходимый для использования Flux v2, — это 1.16. Сегодня мы должны отдать предпочтение 1.20.6 минимум!

Куча новых пользовательских ресурсов Flux

Flux v2 поставляется с новыми пользовательские ресурсыбудь то ХелмВыпуск рулевого, оказавшегося всплески на нескольких ресурсах (с репозиторий кроме примера) или для автоматизации обновления изображений. В версии 1 они были основаны на большой степени неявности, теперь мы можем гораздо точнее контролировать то, что делаем.

Несколько элементов, которые ранее находились в строке команды/конфигурации потока v1, также находятся в пользовательские ресурсы. Это упрощает управление всем (особенно частными репозиториями Helm), а также позволяет при необходимости использовать несколько репозиториев git в качестве источников.

С операционной точки зрения одним из больших преимуществ наличия отдельных ресурсов является то, что каждый из них сообщает о своем состоянии независимо: поэтому мы можем тонко приостановить каждый ресурс кластера. Исследовать проблему действительно удобнее, чем большой черный ящик, каким временами был Flux v1.

Read more:  Предложения: более 150 игр включены в распродажу Xbox на этой неделе (4–11 апреля)

Более подробная информация доступна на сайте Часто задаваемые вопросы по миграции в котором перечислены основные различия и различные дополнения между версиями 1 и 2 Flux.

Migration Flux v2: все просто

Метод, рекомендованный Руководство по миграции на Flux v2 это использовать flux bootstrap налить сгенерируйте всю базовую конфигурацию и поместите ее в новый репозиторий git. который будет содержать все ресурсы, перенесенные во Flux v2.

Идея состоит в том, чтобы постепенно переносить манифесты вместе с изменениями в Flux v2. Мы удаляем их из репозитория git, управляемого Flux v1, и добавляем обновленную версию в репозиторий Flux v2, и все должно быть в порядке. Разумеется, вам необходимо отключить вывоз мусора Flux v1 раньше, иначе ресурсы будут удалены, а затем воссозданы вместо того, чтобы быть прикреплены к новой версии Flux. Таким образом, две версии Flux сосуществуют, и мы можем мигрировать в своем собственном темпе.

С некоторыми ХелмВыпускЕсть еще несколько шагов миграции. Мы должны остановить рулевой (Flux v1) во избежание конфликтов с рулевым-контроллером (Flux v2) при поддержке HelmRelease. А затем перенести ХелмВыпуск в новом формате.

Официальный метод имеет то достоинство, что простой и иметь возможность мигрировать постепенно.

К сожалению, я столкнулся с клубок проблем сложным на наших клиентских платформах, что побудило меня отказаться от отмеченного пути, описанного в статье. Миграция с Flow v1 на Flow v2: масштабная обратная связь!


Не пропустите наши следующие статьи DevOps и др. Облачный родной! Следовать Эникс на Твиттер!


2023-09-14 17:30:16


1694749274
#Миграция #Flux #на #Flux #REXP #Gitops

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.