Flux2: различия между версиями
Kaf (обсуждение | вклад) |
Kaf (обсуждение | вклад) |
||
Строка 37: | Строка 37: | ||
</pre> | </pre> | ||
без необходимости подключения к <code>кластеру Kubernetes</code>. | без необходимости подключения к <code>кластеру Kubernetes</code>. | ||
==== Создание (если еще не создан) ssh-ключа ==== | |||
Если ssh-ключ типа <code>ed25519</code> еще не сформирован вызовите клманду: | |||
<pre> | |||
ssh-keygen -t ed25519 | |||
</pre> | |||
Скопируйте открытый ключ из файла <code>~/.ssh/id_ed25519.pub</code> | |||
и добавьте его на странице добавления SSH-ключей. | |||
[[Файл:AddKey.png||альт=Добавление открытого ключа в gitea-репозиторий|Добавление открытого ключа в gitea-репозиторий]] | |||
==== Создание git-репозитория ==== | ==== Создание git-репозитория ==== | ||
Строка 44: | Строка 56: | ||
в git-репозитории | в git-репозитории | ||
[https://gitea.basealt.ru/ gitea.basealt.ru] | [https://gitea.basealt.ru/ gitea.basealt.ru] | ||
[[Файл:GitrepoCreate.png| | [[Файл:GitrepoCreate.png|GitrepoCreate.png]] | ||
==== Загрузка flux-манифестов в git-репозиторий и разворачиние flux-манифестов в kubernetes-кластере ==== | ==== Загрузка flux-манифестов в git-репозиторий и разворачиние flux-манифестов в kubernetes-кластере ==== |
Версия от 08:56, 31 июля 2024
Установка и настройка flux2
Flux2 — это инструмент для синхронизации кластеров Kubernetes с источниками конфигурации (такими как репозитории Git и артефакты OCI), а также для автоматизации обновлений конфигурации при необходимости развертывания нового кода.
Flux2 для бранча sisyphus включает в себя следующие компоненты (с версиями на 30.07.2024):
- команда flux пакета flux2 (версия 2.3.0);
- образ registry.altlinux.org/sisyphus/flux2/source-controller:v1.3.0;
- образ registry.altlinux.org/sisyphus/flux2/notification-controller:v1.3.0;
- образ registry.altlinux.org/sisyphus/flux2/kustomize-controller:v1.3.0;
- образ registry.altlinux.org/sisyphus/flux2/helm-controller:v1.0.1;
- образ registry.altlinux.org/sisyphus/flux2/image-automation-controller:v0.38.0;
- образ registry.altlinux.org/sisyphus/flux2/image-reflector-controller:v0.32.0.
(Выделенные жирным шрифтом являются обязательными).
Разворачивание flux с хранением манифестов в git-репозиториях
В данном разделе описан способ универсальный способ хранения манифестов в любом git-репозитории, поддерживающий доступ по SSH Private Key. В этом случае необходимо наличие (возможно пустого) репозитория. Для git-репозиториев различных типов существуют специализированные способы работы с git-репозиториями (см. Flux bootstrap). В этих случаях flux сам создает необходимый указанный git-репозиторий.
Команда
flux bootstrap git ...
развертывает Flux-контроллеры
в кластере Kubernetes и настраивает контроллеры для синхронизации состояния кластера из git-репозитория . Помимо установки контроллеров, команда flux bootstrap
отправляет flux-манифесты
в git-репозиторий
и настраивает flux
для обновления из git-репозитория
.
После запуска команды
flux bootstrap git ...
в дальнейшем любую операцию в кластере (включая обновления flux
) можно выполнить с помощью
git push
без необходимости подключения к кластеру Kubernetes
.
Создание (если еще не создан) ssh-ключа
Если ssh-ключ типа ed25519
еще не сформирован вызовите клманду:
ssh-keygen -t ed25519
Скопируйте открытый ключ из файла ~/.ssh/id_ed25519.pub
и добавьте его на странице добавления SSH-ключей.
Создание git-репозитория
В данном примере создадим git-репозиторий alt/fluxtest в git-репозитории gitea.basealt.ru
Загрузка flux-манифестов в git-репозиторий и разворачиние flux-манифестов в kubernetes-кластере
Разворачивание podinfo deployment
Рассмотрим разворачивание решения podinfo, используемый в CNCF-проектах для доступа к информации POD'ов и тестирования.
В общем случае любой git-репозиторий поддерживаемый flux должен содержать каталог с файлом kustomization.yaml
, который и обеспечивает генерацию манифестов для конкретного deployments.