До установки дистрибутива необходимо убедиться в наличии следующих компонентов:

  • Kubernetes-кластер, доступный с хоста установки через kubectl;
  • Ingress controller (Nginx или Traefik);
  • Provisioner для PersistentVolume;
  • Container registry для хранения образов продукта;
  • TLS-секрет в целевом namespace, если продукт должен открываться по HTTPS.

Подготовительные этапы

1. Подготовить namespace (пространство имен).

Namespace можно создать заранее, либо позволить скрипту установки создать его автоматически.
Пример:

kubectl create namespace offline

Если планируется использовать другое пространство имен, его необходимо указать в install/offline-install.conf.

2. Подготовить TLS-секрет для HTTPS.

Если продукт должен публиковаться по HTTPS, в целевом namespace должен быть создан TLS-секрет.
Пример:

kubectl create secret tls ml-apps-tls \
  --namespace=offline \
  --cert=/path/to/tls.crt \
  --key=/path/to/tls.key

Проверка:

kubectl get secrets -n offline

3. Проверить Ingress controller.

Для Nginx:

kubectl get pods -n ingress-nginx

Для Traefik необходимо проверить namespace и deployment, используемые в инфраструктуре заказчика.

4. Подготовить container registry.

У заказчика должен быть доступный registry, в который будут залиты образы из офлайн-дистрибутива.
Важно:

  • если registry работает по HTTP, Docker на хосте установки должен быть настроен как insecure registry;
  • если registry доступен с хоста установки, но недоступен из подов Kubernetes, необходимо отдельно задать EXECUTORS_IMAGE_REGISTRY.
  • Нет меток