Запуск AltFLOW
Необходимые компоненты
Для работоспособности AltFLOW необходимы компоненты, находящиеся вне кластера, такие как:
- TrackDB
- SysDB
- Secret Manager (OpenBao)
- Internal Registry (используется Harbor — развёртывается по официальной документации в upsteam-репозитории)
Для каждого из перечисленных компонентов необходимо предварительно выпустить tls-сертификат от имени сертифицирующего центра с сертификатом root-ca.cert.pem (используется ниже), а затем включить маршрутизацию через tls-соединения.
Подготовка кластера Kubernetes
Для развёртывания Altflow необходимо подготовить кластер следующим образом:
- В кластере должен быть установлен конроллер External Secret Operator (ESO).
- Cert-manager. Для выпуска сертификата должны быть загружены сертификат промежуточного CA и его ключ, например, так:
kubectl -n cert-manager create secret tls altlinux-intermediate-ca \
--cert=test.chain.pem \
--key=test.key.unencrypted.pem
- Должен быть установлен ClusterIssuer для altlinux-intermediate-ca.
- Должен быть загружен корневой сертификат выпускающего центра, выпустившего промежуточный 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
- В секреты k8s для namespaces
altflowиaltflow-observabilityдолжны быть загружены credentials для altflow-openbao, примерmanifests/openbao-secrets.yaml. - Установлен ceph-rbd.
- Ноды, на которых 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-*
Более подробно рассмотреть все необходимые параметры можно тут