Создание секретов
Для корректного запуска helm-чарта необходимо создать пару секретов разных типов.
Docker конфиг
Секрет типа kubernetes.io/dockerconfigjson используется для загрузки приватных Docker-образов.
Получите учетные данные для реестра (токен с правами на
pull).Создайте секрет в целевом namespace:
kubectl create secret docker-registry regcred \ --namespace <your-namespace> \ --docker-server=<REGISTRY_URL> \ --docker-username=<USERNAME> \ --docker-password=<PASSWORD_OR_TOKEN> \ --docker-email=<EMAIL>
Чувствительные переменные
Чувствительные значения (*_TOKEN, *_SECRET, *_PASSWORD, *_APIKEY) передаются в контейнеры через Kubernetes Secret.
Для управления этим поведением используются:
Переменная | Значение | Описание |
| По умолчанию: | При |
| По умолчанию: | Имя Secret, из которого сервисы читают чувствительные переменные. Если |
TLS-сертификаты
Секреты типа kubernetes.io/tls используются для работы Ingress с TLS. Для каждого хоста, который указан в values.yaml (ingress.host.GES_URL, ingress.host.PORTAL_URL, ingress.host.APP_URL), необходимо создать отдельный TLS-секрет.
Получите TLS-сертификаты (например, от доверенного CA, через cert-manager или вручную). У вас должны быть файлы:
Приватный ключ:
tls.key.Сертификат:
tls.crt.
Создайте секреты в целевом namespace (по одному на каждый хост):
kubectl create secret tls <GES_SECRET> \ --namespace <your-namespace> \ --cert=path/to/tls.crt \ --key=path/to/tls.keykubectl create secret tls <PORTAL_SECRET> \ --namespace <your-namespace> \ --cert=path/to/tls.crt \ --key=path/to/tls.keykubectl create secret tls <APP_SECRET> \ --namespace <your-namespace> \ --cert=path/to/tls.crt \ --key=path/to/tls.keyГде:
<GES_SECRET>— имя секрета, которое должно совпадать со значениемingress.tls.GES_SECRETвvalues.yaml.<PORTAL_SECRET>— имя секрета дляingress.tls.PORTAL_SECRET.<APP_SECRET>— имя секрета дляingress.tls.APP_SECRET.
Убедитесь, что хосты в сертификатах соответствуют значениям, указанным в
values.yaml:ingress: enabled: true tls: enabled: true GES_SECRET: ges-tls PORTAL_SECRET: portal-tls APP_SECRET: app-tls host: GES_URL: ges.example.com PORTAL_URL: portal.example.com APP_URL: app.example.com
Проверка
После создания секретов проверьте их наличие и тип:
kubectl get secrets -n <your-namespace>
TLS-секреты должны быть типа kubernetes.io/tls, docker-секрет — kubernetes.io/dockerconfigjson.