Чтобы получить частный образ Docker в диаграммах Helm, вы можете использовать один из следующих методов:
-
Использование ImagePullSecrets: Helm позволяет указать секрет получения изображения в манифесте развертывания, что позволяет извлекать изображения из частных репозиториев. Чтобы использовать этот метод, вам необходимо создать секрет Kubernetes, содержащий ваши учетные данные реестра Docker, а затем сослаться на него в диаграмме Helm.
apiVersion: v1 kind: Secret metadata: name: my-pull-secret namespace: my-namespace data: .dockerconfigjson: <base64-encoded-docker-config>
В манифесте развертывания добавьте поле
imagePullSecrets
, чтобы указать секрет:apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: template: spec: containers: - name: my-container image: my-private-image:tag imagePullSecrets: - name: my-pull-secret
-
Использование значений Helm. Другой подход — передать учетные данные реестра Docker как значения Helm. Вы можете определить учетные данные в файле значений Helm и ссылаться на них в манифесте развертывания диаграммы.
# values.yaml dockerRegistry: username: my-username password: my-password server: my-docker-registry.com
В манифесте развертывания используйте значения в качестве переменных среды:
apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment spec: template: spec: containers: - name: my-container image: {{ .Values.dockerRegistry.server }}/my-private-image:tag env: - name: REGISTRY_USERNAME value: {{ .Values.dockerRegistry.username }} - name: REGISTRY_PASSWORD value: {{ .Values.dockerRegistry.password }}
-
Использование частного репозитория изображений. Если у вас есть частный репозиторий изображений, вы можете настроить Helm для аутентификации с его помощью. Некоторые репозитории образов, например Azure Container Registry или AWS Elastic Container Registry, предоставляют механизмы аутентификации, которые можно интегрировать с Helm.
Точные шаги по настройке аутентификации зависят от конкретного используемого вами репозитория изображений. Вы можете обратиться к документации вашего поставщика репозитория изображений за инструкциями по аутентификации Helm в репозитории.