Запуск AltFLOW

Необходимые компоненты

Для работоспособности AltFLOW необходимы компоненты, находящиеся вне кластера, такие как:

  • TrackDB
  • SysDB
  • Secret Manager (OpenBao)
  • Internal Registry (используется Harbor — развёртывается по официальной документации в upsteam-репозитории)

Для каждого из перечисленных компонентов необходимо предварительно выпустить tls-сертификат от имени сертифицирующего центра с сертификатом root-ca.cert.pem (используется ниже), а затем включить маршрутизацию через tls-соединения.

Подготовка кластера Kubernetes

Для развёртывания Altflow необходимо подготовить кластер следующим образом:

  1. В кластере должен быть установлен конроллер External Secret Operator (ESO).
  2. Cert-manager. Для выпуска сертификата должны быть загружены сертификат промежуточного CA и его ключ, например, так:
kubectl -n cert-manager create secret tls altlinux-intermediate-ca \
  --cert=test.chain.pem \
  --key=test.key.unencrypted.pem
  1. Должен быть установлен ClusterIssuer для altlinux-intermediate-ca.
  2. Должен быть загружен корневой сертификат выпускающего центра, выпустившего промежуточный CA, например (см. каталог certs):
kubectl -n altflow create secret generic altlinux-root-ca --from-file=ca.crt=root-ca.cert.pem
kubectl -n altflow-observability create secret generic altlinux-root-ca --from-file=ca.crt=root-ca.cert.pem
  1. В секреты k8s для namespaces altflow и altflow-observability должны быть загружены credentials для altflow-openbao, пример manifests/openbao-secrets.yaml.
  2. Установлен ceph-rbd.
  3. Ноды, на которых Altflow будет собирает образы, должны быть промаркированы:
kubectl label node <node-name> altflow.io/builder=true

При необходимости изолируйте рабочие ноды taint'ом altflow.io/builder=true:NoSchedule, чтобы обычные Pod’ы не занимали те ноды, которые вы специально выделите под сборку образов:

kubectl taint node <node-name> altflow.io/builder=true:NoSchedule

Развертывание AltFLOW в кластере

Чтобы запустить AltFLOW необходимо установить helm-чарты в кластере в следующем порядке:

  • altflow-bootstrap
  • altflow-rabbitmq
  • altflow-api
  • altflow-api-lite
  • altflow-saver
  • altflow-tracker
  • altflow-stager
  • altflow-distributor
  • altflow-builder
  • observability

Для установки каждого helm-чарта нужно заполнить необходимые параметры в values и CM файлах, а затем выполнить make install . в каталогах /altflow/helm/cluster_packages/altflow-*

Более подробно рассмотреть все необходимые параметры можно тут