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

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

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

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

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

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

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

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

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

      kubectl create namespace synapse-synai
      kubectl label namespace synapse-synai istio.io/rev=synapse-control-panel
      

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

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

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

  1. В случае создания сертификатов вручную необходимо создать Secret autoscaler-apiservice-tls или же настроить Vault Hashicorp.

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

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

    Секрет autoscaler-apiserver-tls

    Ключ

    Значение

    tls.cert

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

    tls.key

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