Настройка внешнего подключения Redis

Проверьте совместимость версии БД

Перед началом работы убедитесь, что версия внешней базы данных Redis совпадает с версией, указанной в .Values.authCache.image.tag.

  1. Если система Test IT запущена, остановите все поды с помощью команды.
  2. При настройке конфигурации внешней базы данных Redis убедитесь, что установлен следующий параметр:
    appendonly yes
    
  3. В файле values-override.yaml установите значения переменных среды со строкой подключения внешней базы данных Redis:
    general:
      config:
        AUTH_CACHE_CONNECTION_STRING: "redis-external" # IP or DNS of outside Redis server
    
    Если внешний Redis защищен паролем, строка подключения будет иметь вид:
     AUTH_CACHE_CONNECTION_STRING=redis-external,password=<YOUR_PASSWORD>
    
  4. В файле values-override.yaml отключите контроллер statefulSet для внутренней базы данных Redis:
    authCache:
      enabled: false
    
  5. Примените изменения с помощью команды:
    cd ~/testit
    helm -n <namespace> -f testit_backend/values-override.yaml upgrade testit-backend testit_backend/
    

Настройка SSL для внешних подключений

Важно

  1. Убедитесь, что конфигурация-SSL во внешних сервисах настроена на проверку только файла CA.crt.
  2. Если для внешних сервисов используются другие файлы CA.crt, убедитесь, что все они добавлены в связку. Для этого внесите изменения в файл:
testit_backend/templates/configmaps/ssl/ca-bundle.yaml
  1. Прежде чем применять изменения, описанные в данной инструкции, убедитесь, что настроены внешние подключения к соответствующим сервисам.
  1. Создайте SSL-сертификаты, используя доменное имя (CN) вашего сервера Redis и файл CA.crt:
    • ca.crt
    • redis.crt
    • redis.key
  2. Перенесите сертификаты в соответствующую папку на вашем сервере Redis. Например:
    • /tls/ca.crt
    • /tls/redis.crt
    • /tls/redis.key
  3. При запуске сервера Redis убедитесь, что добавлены следующие параметры запуска:
    redis-server \
    --appendonly yes \
    --tls-port 6379 \
    --port 0 \
    --tls-cert-file /tls/redis.crt \
    --tls-key-file /tls/redis.key \
    --tls-ca-cert-file /tls/ca.crt \
    --tls-auth-clients no
    
  4. Добавьте файл CA.crt в конфигурационную карту ca-bundle:
    # testit_backend/templates/configmaps/ssl/ca-bundle.yaml
    {{- if .Values.sslEnabled }}
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: "ca-bundle"
      labels:
        app: testit
        content: ssl-ca
    data:
      ca.crt: |-
        -----BEGIN CERTIFICATE-----
        contents
        -----END CERTIFICATE-----
    {{- end }}
    
  5. Активируйте SSL для Redis в файле values-override.yaml (убедитесь, что общий флаг sslEnabled включен):
    sslEnabled: true
    authCache:
      enabled: false
      sslEnabled: true
    
  6. При необходимости в файле values-override.yaml задайте значения переменных для SSL в разделе general.sslConfig.
Обновлено: