Без доступа в интернет#
Развертывание платформы в кластере Kubernetes требует дополнительных подготовительных шагов.
Для развертывания Astra Automation в кластере Kubernetes без доступа в интернет необходимо подготовить все требуемые контейнерные образы локально на каждом рабочем узле (worker node). По умолчанию Kubernetes использует среду исполнения контейнеров containerd. При отсутствии доступа к внешнему реестру контейнеров потребуются дополнительные шаги по загрузке этих образов во все рабочие узлы.
Доступ к узлам Kubernetes#
Для выполнения последующих действий оператор установочного узла должен иметь доступ по SSH ко всем узлам (master, workers) кластера Kubernetes с административными привилегиями (через утилиту sudo).
Настройте доступ как описано в руководстве Настройка целевых узлов.
Подготовка образов контейнеров#
Пакет для развертывания Astra Automation в сегменте сети без доступа к интернет поставляется в виде архивированного файла aa-kubernetes-bundle-2-0-preview-offline.tar.gz, доступного в Личном кабинете при наличии действующей лицензии на Astra Automation.
Выполните следующие подготовительные действия:
Загрузите архивированный файл на установочный узел.
Подготовьте временный каталог для размещения пакета:
mkdir temp_bundle_contentsРаспакуйте архив в этот каталог:
tar -xzvf aa-kubernetes-bundle-2-0-preview-offline.tar.gz -C temp_bundle_contents
cd temp_bundle_contents
Структура каталога выглядит следующим образом:
temp_bundle_contents/ ├── examples/ │ ├── kubernetes/ │ │ ├── base/ │ │ └── enterprise/ │ └── minikube/ │ └── minimal/ ├── images/ │ ├── aa_2.0-preview.tar │ ├── aa-control-ee_latest.tar │ ├── aa-operator_2.0-preview.tar │ ├── aa-proxy_2.0-preview.tar │ ├── ac_2.0-preview.tar │ ├── eda-ui_2.0-preview.tar │ ├── kube-rbac-proxy_2.0-preview.tar │ ├── nginx_2.0-preview.tar │ ├── pah-operator_2.0-preview.tar │ ├── postgresql_2.0-preview.tar │ └── redis_2.0-preview.tar └── tools/ ├── inventory.yml └── load-containerd-images.yml
Подготовленный каталог потребуется не только на этом шаге, но и при дальнейшей подготовке и непосредственном развертывании платформы. Он содержит следующие ресурсы:
examples/– манифесты различных секретов для установки их в кластере Kubernetes в зависимости от выбранной топологии (базовая или уровня предприятия);images/– образы контейнеров, которые необходимо установить в кластере Kubernetes.tools/– сценарий Ansible и описание инвентаря, включающего все рабочие узлы Kubernetes, на которых необходимо разместить образы.
Описание инвентаря#
В файле инвентаря tools/inventory.yml имеется структура описания, в которой необходимо заменить параметры рабочих узлов на параметры узлов вашего кластера, а также задать другие параметры Ansible:
---
all:
children:
k8s_nodes:
hosts:
node1.example.com:
ansible_host: 10.177.1.1
node2.example.com:
ansible_host: 10.177.1.2
node3.example.com:
ansible_host: 10.177.1.3
vars:
ansible_user: astra
ansible_become: true
ansible_ssh_private_key_file: ~/.ssh/astra
images_dir: /tmp/images
В этом файле находятся следующие параметры, подлежащие настройке:
адреса узлов (доменные имена и IP-адреса);
ansible_user– учетная запись, используемая для подключения по SSH и имеющая привилегии на использование утилиты sudo для повышения привилегий до привилегий учетной записи root;ansible_become– требует для выполнения модулей Ansible на удаленном узле использовать утилиту sudo для повышения привилегий до привилегий учетной записи root;ansible_ssh_private_key_file– путь к приватному ключу учетной записи, используемой для подключения к управляемым узлам по SSH;images_dir– путь к каталогу, в котором хранятся файлы с образами контейнеров.
Размещение образов#
Используйте подготовленный сценарий playbook для размещения образов на рабочих узлах Kubernetes:
ansible-navigator run tools/load-containerd-images.yml -i tools/inventory.yml
Сценарий выполняет следующие действия:
Устанавливает сервис
rsyncна узлах, если его нет.Копирует все файлы с расширением
.tarиз каталогаimages/во временный каталог на указанные узлы кластера.Импортирует каждый образ этих файлов для службы
containerd.После завершения выводит список образов, загруженных для
containerd.
После успешного выполнения этого сценария образы будут доступны локально на всех указанных узлах, и вы сможете приступать к развертыванию операторов и платформы.