Подключение Redis в Kubernetes
Проверьте совместимость версии БД
Перед началом работы убедитесь, что версия внешней базы данных Redis совпадает с версией, указанной в .Values.auch-cache.image.tag
.
- Если система Test IT запущена, остановите все поды с помощью команды.
- При настройке конфигурации внешней базы данных Redis убедитесь, что установлен следующий параметр:
appendonly yes
- В файле
values-override.yaml
установите значения переменных среды со строкой подключения внешней базы данных Redis:Если внешний Redis защищен паролем, строка подключения будет иметь вид:general: config: AUTH_CACHE_CONNECTION_STRING: "redis-external" # IP or DNS of outside Redis server
AUTH_CACHE_CONNECTION_STRING=redis-external,password=<YOUR_PASSWORD>
- В файле
values-override.yaml
отключите контроллер statefulSet для внутренней базы данных Redis:auth-cache: enabled: false
- Примените изменения с помощью команды:
cd <installation_folder> helm -n <namespace> -f testit_unichart/values-override.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m
Настройка SSL для внешних подключений
Важно
- Убедитесь, что конфигурация-SSL во внешних сервисах настроена на проверку только файла CA.crt.
- Если для внешних сервисов используются другие файлы CA.crt, убедитесь, что все они добавлены в связку. Добавьте файл ca-bundle-*.crt в директорию
testit_unichart/files/ssl/
:# Номер файла задан для примера, можно использовать и другое наименование, например ca-bundle-redis.crt # Главное, чтобы нужные путь/название файла указывались в шаге 3 следующей секции testit_unichart/files/ssl/ca-bundle-2.crt
- Прежде чем применять изменения, описанные в данной инструкции, убедитесь, что настроены внешние подключения к соответствующим сервисам.
- Создайте SSL-сертификаты, используя доменное имя (CN) вашего сервера Redis и файл CA.crt:
- ca.crt
- redis.crt
- redis.key
- Перенесите сертификаты в соответствующую папку на вашем сервере Redis. Например:
- /tls/ca.crt
- /tls/redis.crt
- /tls/redis.key
- При запуске сервера 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
- Добавьте в секцию
general.configFile
файлаvalues-override.yaml
илиvalues-ssl.yaml
путь до нового CA.crt:# testit_unichart/values-ssl.yaml или testit_unichart/values-override.yaml general: config: AUTH_CACHE_CONNECTION_STRING: "redis-external" # IP or DNS of outside Redis server volumes: ## Use to enable custom certificates ssl-ca-bundle-1: fromConfigMap: ssl-ca-bundle-1 mounts: mountPath: /app/certs/ca-bundle-1.crt subPath: ca-bundle-1.crt # Mount new file ssl-ca-bundle-2: fromConfigMap: ssl-ca-bundle-2 mounts: mountPath: /app/certs/ca-bundle-2.crt subPath: ca-bundle-2.crt configFile: ## Use to enable custom certificates # Already have been there (hypothetically) ssl-ca-bundle-1: ca-bundle-1.crt: "files/ssl/ca-bundle-1.crt" # New file ssl-ca-bundle-2: ca-bundle-2.crt: "files/ssl/ca-bundle-2.crt"
- Примените изменения с помощью команды:
cd <installation_folder> # В зависимости от того, какие файлы (values-override.yaml или values-ssl.yaml) используется, прокидывайте в команду соответствующий файл через флаг -f helm -n <namespace> -f testit_unichart/values-override.yaml -f testit_unichart/values-ssl.yaml upgrade --install testit testit_unichart/ --wait --timeout 10m