Быстрое развертывание платформы#
Быстрое развертывание платформы Astra Automation предназначено для получения оперативного доступа к системе и ознакомления с ее базовыми возможностями. Для этого в качестве рабочей среды предлагаем использовать Kubernetes Minikube.
Предупреждение
Использование Minikube для развертывания Astra Automation допустимо только в ознакомительных целях и не предназначено для эксплуатации в промышленных рабочих окружениях.
Предварительные требования#
Для развертывания платформы потребуются дополнительные аппаратные и программные ресурсы.
Программное обеспечение платформы#
Для использования платформы необходима подписка. Чтобы получить пробную подписку, перейдите на сайт Astra Automation и нажмите кнопку Запросить пробную версию платформы бесплатно.
Развертывание выполняется с помощью архивированного пакета, доступного в Личном кабинете.
Рабочее окружение#
Для развертывания платформы понадобится узел в виде ВМ или физического компьютера, обладающий характеристиками не ниже указанных:
Характеристика |
Значение |
|---|---|
Количество ядер CPU |
8 |
Объем RAM, ГБ |
16 |
Объем хранилища, ГБ |
30 |
Вы можете использовать любую операционную систему, в которой можно установить Minikube. Для данной демонстрации использовалась ВМ с установленной операционной системой Astra Linux Special Edition 1.8.2.UU1 в базовом режиме защищенности («Орел»). Для настройки узла необходим доступ к нему по протоколу SSH.
Подготовка узла#
Подготовьте узел следующим образом:
Подключитесь к узлу по SSH.
Установите и настройте систему Docker:
sudo apt update && sudo apt install -y make git curl docker.io docker-compose docker-buildx
sudo usermod -aG docker $USER && newgrp docker
Настройте уровень безопасности для загрузки контейнерных образов в Minikube:
Предупреждение
Решение подходит только для отладочного режима и не предназначено для эксплуатации в промышленной среде.
Используя привилегии суперпользователя (команда
sudo), создайте каталог/etc/docker/и в нем файлdaemon.jsonсо следующим содержимым:{ "astra-sec-level" : 6 }
Повторно запустите службу
docker:sudo systemctl restart docker
Установите систему оркестрации контейнеров Minikube:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 chmod +x minikube sudo install minikube /usr/local/bin/
Установите утилиту управления
kubectl:curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/
Подготовка Kubernetes#
Переведите рабочую среду в активное состояние:
Убедитесь, что вы подключены к целевому узлу по SSH.
Запустите сервис Minikube и установите контроллер
ingressдля обеспечения доступа к интерфейсу платформы:minikube start --cpus=6 --memory=8192 --disk-size=30g --addons=ingress
Проверьте состояние Minikube:
minikube statusКоманда выводит на экран терминала следующие данные:
Развертывание платформы#
Выполните следующие шаги для развертывания платформы:
Распакуйте архив платформы в рабочем каталоге:
mkdir astra-automation-setuptar -xvzf <offline_bundle.tgz> -C astra-automation-setup/ && cd astra-automation-setup
Структура пакета имеет следующий вид:
├── examples/ │ ├── kubernetes/ │ └── minikube/ └── operators/ ├── aa-operator-deploy.yaml ├── ac-operator-deploy.yaml ├── eda-operator-deploy.yaml └── pah-operator-deploy.yamlУстановите операторы платформы:
kubectl apply -f operators/
Создаются контейнеры и сервисы Kubernetes в пространстве
astra-automation. Это потребует несколько минут. Для проверки состояния подов используйте следующую команду:kubectl -n astra-automation get pods -w
Поды должны быть в состоянии
running.Запустите развертывание платформы в минимальном составе:
kubectl apply -n astra-automation -f examples/minikube/minimal/minikube-minimal-aa-demo.yaml
На развертывание потребуется несколько минут. Дождитесь готовности подов платформы:
kubectl -n astra-automation get pods -w
Примечание
Если по какой-либо причине надо повторить все сначала, удалите все объекты, созданные в Minikube:
minikube stop && minikube delete --all --purge
Получение доступа к интерфейсу платформы#
Для доступа к единому интерфейсу платформы процедура развертывания создает учетную запись admin, имеющую случайным образом сгенерированный пароль.
Для получения пароля воспользуйтесь следующей командой:
kubectl -n astra-automation get secret aa-demo-admin-password \
-o jsonpath="{.data.password}" | base64 -d
Сервис (контроллер Kubernetes) ingress доступен в пространстве ingress-nginx.
Получите сведения о нем:
minikube service ingress-nginx-controller -n ingress-nginx
Таблица в выходных данных показывает соответствие между URL, по которому доступен сервис, и внутренним портом пользовательского интерфейса:
┌───────────────┬──────────────────────────┬─────────────┬───────────────────────────┐
│ NAMESPACE │ NAME │ TARGET PORT │ URL │
├───────────────┼──────────────────────────┼─────────────┼───────────────────────────┤
│ ingress-nginx │ ingress-nginx-controller │ http/80 │ http://192.168.49.2:32390 │
│ │ │ https/443 │ http://192.168.49.2:31668 │
└───────────────┴──────────────────────────┴─────────────┴───────────────────────────┘
[ingress-nginx ingress-nginx-controller http/80
https/443 http://192.168.49.2:32390
http://192.168.49.2:31668]
В данном примере установлены следующие перенаправления:
http://192.168.49.2:32390 -> http://<gateway>
https://192.168.49.2:31668 -> https://<gateway>
192.168.49.2 является адресом узла Minikube.
Если вы устанавливали все на локальной машине, то можете использовать эти URL в вашем браузере.
Если это внешняя ВМ, то проверьте доступность интерфейса с помощью утилиты curl, выполнив следующие команды внутри ВМ:
curl http://192.168.49.2:32390
или
curl -k http://192.168.49.2:31668
Для доступа к интерфейсу платформы, развернутой на внешней ВМ, из локальной машины, на которой вы работаете, необходимо туннельное соединение. Создайте его с помощью одной из следующих команд на вашей локальной машине:
Для доступа по HTTP:
ssh -L 8080:192.168.49.2:32390 admin@158.160.201.18
В приведенной команде 158.160.201.18 – IP-адрес ВМ. В браузере интерфейс будет доступен по URL http://localhost:8080.
Для доступа по HTTPS:
ssh -L 8043:192.168.49.2:31668 admin@158.160.201.18
В браузере интерфейс будет доступен по URL https://localhost:8043. При этом надо подтвердить, что вы доверяете этому ресурсу, у которого не установлен подтвержденный сертификат TLS.
Первоначальная настройка платформы#
Первоначальная настройка состоит из следующих шагов:
При первом подключении браузер выводит предупреждение о том, что подключение не защищено. Это нормальное поведение, поскольку для защиты подключения контроллер использует самоподписанный сертификат. При использовании браузера на основе Chromium выполните следующие действия:
Нажмите кнопку Дополнительные.
Нажмите ссылку Перейти на сайт <IP> (небезопасно).
Для аутентификации в интерфейсе платформы введите название учетной записи
adminи пароль, определенный ранее.Активируйте лицензию на продукт, следуя инструкции.
Заключение#
В этом сценарии вы познакомились с основными шагами по развертыванию платформы и его использованию для настройки управляемых узлов. Из всей последовательности шагов важно выделить следующие действия:
Обеспечение предварительных требований.
Установка операторов в окружении Kubernetes.
Развертывание платформы с помощью операторов.
Обеспечение доступа к интерфейсу платформы.
Активизация лицензии на использование платформы.