112 lines
6.4 KiB
Markdown
112 lines
6.4 KiB
Markdown
# Предусловия
|
||
|
||
1. Настроенная платформа Kubernetes;
|
||
2. Доступны подключаемые системы;
|
||
3. Зарегистрированы и настроены на работу с платформой Kubernetes два доменных имени;
|
||
4. Доступны реестры образов или кэш образов с необходимыми для развертывания компонентов фреймворка образами;
|
||
|
||
## Платформа Kubernetes
|
||
|
||
Платформа Kubernetes включает в себя кластер аппаратных или виртуальных узлов
|
||
и развернутые на нем системные сервисы.
|
||
|
||
Требования к ПО Kubernetes:
|
||
1. Версия не ниже 1.24;
|
||
|
||
Требования к аппаратному обеспечению:
|
||
1. Мастер-узел: 1 узел, 2-core CPU, 4 Гб RAM, 50 Гб Storage;
|
||
2. Рабочие узлы: 2 узла, каждый узел 2-core CPU, 6 Гб RAM, 50 Гб Storage;
|
||
|
||
Для сервиса managed Kubernetes мастер-узел может быть создан и управляться автоматически провайдером сервиса.
|
||
|
||
Требования к системным сервисам платформы Kubernetes:
|
||
1. Драйвер S3 CSI от Yandex;
|
||
2. Сервис DNS CoreDNS;
|
||
3. Контроллер сетевых политик Cilium для обеспечения сетевой связности;
|
||
4. Балансировщик нагрузки, через который осуществляются внешние соединени;
|
||
с развернутыми на платформе сервисами фреймворка и приложениями;
|
||
5. Контроллер менеджер сертификатов cert-manager;
|
||
6. Контроллер Ingress Ingress-Nginx;
|
||
|
||
|
||
> Работоспособность драйвера S3 CSI от Yandex на установках Kubernetes вне Yandex Cloud не проверена.
|
||
> Существуют проблемы с работоспособностью при использовании microk8s.
|
||
|
||
> При использовании managed кластера Kubernetes рекомендуется при настройке сразу выбрать Cilium
|
||
> в качестве контроллера сетевых политик. Последующее изменение может потребовать пересоздание кластера
|
||
> (это верно по крайней мере для managed Kubernetes в Yandex Cloud).
|
||
|
||
Требования к пользовательскому интерфейсу:
|
||
1. Настроен доступ через kubectl (файл KUBECONFIG);
|
||
|
||
## Подключаемые системы
|
||
|
||
Подключаемые системы должны быть доступны через программные интерфейсы со стороны сервисов фреймворка.
|
||
|
||
### Система управления версиями
|
||
|
||
Хранит копии репозиториев, используемых для развертывания приложений в фреймворке.
|
||
|
||
Требования:
|
||
1. git программный интерфейс;
|
||
|
||
### Реестр образов и пакетов
|
||
|
||
Реализует внутреннее хранилище образов контейнеров, кэш образов, пакетов Python, кэш пакетов.
|
||
|
||
Требования:
|
||
1. Docker Registry HTTP API V2 программный интерфейс;
|
||
2. PyPI программный интерфейс;
|
||
|
||
### Системная СУБД
|
||
|
||
РСУБД на базе PostgreSQL, используемая другими компонентами фреймворка для хранения данных.
|
||
|
||
Требования:
|
||
1. Версия PostgreSQL 16 или выше;
|
||
|
||
### Объектное хранилище
|
||
|
||
Хранит данные приложений.
|
||
|
||
Требования:
|
||
1. S3 API Version 2006-03-01 программный интерфейс;
|
||
|
||
### Вычислительный кластер
|
||
|
||
Используется для запуска вычислительных задач, предоставляет метрики о работе задач.
|
||
|
||
Требования:
|
||
1. Планировщик задач Slurm;
|
||
|
||
|
||
### Внешний поставщик реквизитов (OIDC провайдера)
|
||
|
||
Требования:
|
||
1. OIDC провайдер Keycloak;
|
||
|
||
## Доменные имена
|
||
|
||
Должны быть зарегистрированы и настроены на работу с платформой Kubernetes два доменных имени,
|
||
первое - для сервисов фреймворка и размещаемых на фреймворке приложений,
|
||
второе - для реестра образов (пояснение приведено ниже).
|
||
|
||
Доменное имя для сервисов фреймворка и размещаемых на фреймворке приложений называется **основным**.
|
||
|
||
Компоненты фреймворка, и размещаемые на фреймворке приложения доступны по адресам вида
|
||
`https://{domain}/{component}` (например, `https://domain.ru/forgejo`) или
|
||
`https://{domain}/{app}` (например, `https://domain.ru/app1`).
|
||
|
||
Реестр образов не может быть доступен по адресу такого вида, поскольку docker cli распознает
|
||
префикс в адресе вида `https://{domain}/{prefix}` частью имени образа.
|
||
|
||
По этой причине рекомендуется зарегистрировать два доменных имени, основное и для реестра образов.
|
||
|
||
Если основное доменное имя имеет вид `domain.ru`, то для реестра образов могут быть использованы имена
|
||
`registry-domain.ru` или `registry.domain.ru`.
|
||
|
||
## Доступ к реестру образов с образами компонентов фреймворка
|
||
|
||
1. unip-controller:0.3.7-9c53a08 - образ контроллеров, сервисов управления данными и отслеживания экспериментов;
|
||
2. quay.io/argoproj/argocd:v2.9.0 - образ сервиса развертывания;
|
||
|