Подготовка окружения#

Подготовка элементов развертывания#

Перед началом установки продукта Platform V SynAI необходимо подготовить следующие элементы развертывания:

  1. Helm-чарты компонентов AUSC, PREM, WLDT

  2. Docker-образы компонентов AUSC, PREM, WLDT

  3. Файлы конфигурации (values.yaml)

  4. Сертификаты

Настройка окружения#

Для корректной установки продукта SAI в среде Kubernetes должны быть выполнены следующие условия:

  1. Развернут и настроен Kubernetes-кластер

    • Минимальная версия: 1.21 или выше

    • Состояние кластера: полностью рабочий, с настроенной сетью и доступом к registry-сервисам

    • Проверить состояние можно командой:

      kubectl cluster-info
      
  2. Создан проект (namespace)

    • Пример конфигурации:

      apiVersion: v1
      kind: Namespace
      metadata:
        name: synapse-synai
        labels:
          istio.io/rev=<namespace контрольной панели istio>
          vault-sidecar-injector: enabled
      
    • Пример команды для создания:

      kubectl create namespace synapse-synai
      kubectl label namespace synapse-synai istio.io/rev=synapse-control-panel
      kubectl label namespace synapse-synai vault-sidecar-injector=enabled
      

Выпуск и подготовка сертификатов#

Для корректной работы продукта SAI в Kubernetes требуется настроить выпуск и распространение SSL/TLS-сертификатов. Создание серверных сертификатов для autoscaler-adapter необходимо по причине того, что KubeAPI взаимодействует как клиент с autoscaler-adapter. В зависимости от используемой инфраструктуры, можно выбрать один из следующих вариантов:

  • Создать сертифиакт вручную.

  • Указать параметр Vault Hashicorp, чтобы он сам подавал секрет.

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

  1. Необходимо создать Secret autoscaler-apiservice-tls.

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

kind: Secret
apiVersion: v1
metadata:
  name: autoscaler-apiservice-tls
  namespace: {{.Release.Namespace }}
data:
  tls.key: # {{ $your key }}
  tls.crt: # {{ $your cert }}
type: Opaque
  1. В случае создания секрета через «cert-manager» необходимо чтобы компонент «cert-manager» был предварительно установлен на кластере. После чего необходимо изменить значение в conf/helm/application/ausc/values.yaml.

    apiserviceCa: # Не обязательно. Настройки секретов для Apiserviсe 
      type: cert-manager  # Обязательно. Используется cert-manager для реализации сертификатов по взаимодействию
      certManagerIssuerName: kubernetes-selfsigning-issuer # Обязательно если используется type:cert-manager
    

    Секрет autoscaler-apiserver-tls

    Ключ

    Значение

    tls.cert

    Серверный сертификат для SynAI Autoscaler

    tls.key

    Приватный ключ для SynAI Autoscaler