До установки дистрибутива необходимо убедиться в наличии следующих компонентов:
- 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.