Быстрое развертывание платформы#

Быстрое развертывание платформы Astra Automation предназначено для получения оперативного доступа к системе и ознакомления с ее базовыми возможностями. Для этого в качестве рабочей среды предлагаем использовать Kubernetes Minikube.

Предупреждение

Использование Minikube для развертывания Astra Automation допустимо только в ознакомительных целях и не предназначено для эксплуатации в промышленных рабочих окружениях.

Предварительные требования#

Для развертывания платформы потребуются дополнительные аппаратные и программные ресурсы.

Программное обеспечение платформы#

Для использования платформы необходима подписка. Чтобы получить пробную подписку, перейдите на сайт Astra Automation и нажмите кнопку Запросить пробную версию платформы бесплатно.

Развертывание выполняется с помощью архивированного пакета, доступного в Личном кабинете.

Рабочее окружение#

Для развертывания платформы понадобится узел в виде ВМ или физического компьютера, обладающий характеристиками не ниже указанных:

Характеристика

Значение

Количество ядер CPU

8

Объем RAM, ГБ

16

Объем хранилища, ГБ

30

Вы можете использовать любую операционную систему, в которой можно установить Minikube. Для данной демонстрации использовалась ВМ с установленной операционной системой Astra Linux Special Edition 1.8.2.UU1 в базовом режиме защищенности («Орел»). Для настройки узла необходим доступ к нему по протоколу SSH.

Подготовка узла#

Подготовьте узел следующим образом:

  1. Подключитесь к узлу по SSH.

  2. Установите и настройте систему Docker:

    sudo apt update && sudo apt install -y make git curl docker.io docker-compose docker-buildx
    
    sudo usermod -aG docker $USER && newgrp docker
    
  3. Настройте уровень безопасности для загрузки контейнерных образов в Minikube:

    Предупреждение

    Решение подходит только для отладочного режима и не предназначено для эксплуатации в промышленной среде.

    • Используя привилегии суперпользователя (команда sudo), создайте каталог /etc/docker/ и в нем файл daemon.json со следующим содержимым:

      {
         "astra-sec-level" : 6
      }
      
    • Повторно запустите службу docker:

      sudo systemctl restart docker
      
  4. Установите систему оркестрации контейнеров Minikube:

    curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    chmod +x minikube
    sudo install minikube /usr/local/bin/
    
  5. Установите утилиту управления 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#

Переведите рабочую среду в активное состояние:

  1. Убедитесь, что вы подключены к целевому узлу по SSH.

  2. Запустите сервис Minikube и установите контроллер ingress для обеспечения доступа к интерфейсу платформы:

    minikube start --cpus=6 --memory=8192 --disk-size=30g --addons=ingress
    
  3. Проверьте состояние Minikube:

    minikube status
    

    Команда выводит на экран терминала следующие данные:

    minikube
    type: Control Plane
    host: Running
    kubelet: Running
    apiserver: Running
    kubeconfig: Configured
    

Развертывание платформы#

Выполните следующие шаги для развертывания платформы:

  1. Распакуйте архив платформы в рабочем каталоге:

    mkdir astra-automation-setup
    
    tar -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
    
  2. Установите операторы платформы:

    kubectl apply -f operators/
    

    Создаются контейнеры и сервисы Kubernetes в пространстве astra-automation. Это потребует несколько минут. Для проверки состояния подов используйте следующую команду:

    kubectl -n astra-automation get pods -w
    

    Поды должны быть в состоянии running.

  3. Запустите развертывание платформы в минимальном составе:

    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]

В данном примере установлены следующие перенаправления:

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.

Первоначальная настройка платформы#

Первоначальная настройка состоит из следующих шагов:

  1. При первом подключении браузер выводит предупреждение о том, что подключение не защищено. Это нормальное поведение, поскольку для защиты подключения контроллер использует самоподписанный сертификат. При использовании браузера на основе Chromium выполните следующие действия:

    1. Нажмите кнопку Дополнительные.

    2. Нажмите ссылку Перейти на сайт <IP> (небезопасно).

  2. Для аутентификации в интерфейсе платформы введите название учетной записи admin и пароль, определенный ранее.

  3. Активируйте лицензию на продукт, следуя инструкции.

Заключение#

В этом сценарии вы познакомились с основными шагами по развертыванию платформы и его использованию для настройки управляемых узлов. Из всей последовательности шагов важно выделить следующие действия:

  • Обеспечение предварительных требований.

  • Установка операторов в окружении Kubernetes.

  • Развертывание платформы с помощью операторов.

  • Обеспечение доступа к интерфейсу платформы.

  • Активизация лицензии на использование платформы.