почему Хелм не принимает кубернетес секретов для развертывания? - PullRequest
0 голосов
/ 30 апреля 2020

Я создал секрет в кластере Kubernetes для извлечения образа из частного репозитория и добавил его в helm values.yml.

после запуска развертывания (helm install chart /chart). Я вижу, что развертывание шлема все время прерывается timeout.

"kubectl description pod" показывает мне ошибку: "imagePullBackoff" и "неправильные учетные данные".

одновременно, если развернуть то же приложение с kubectl apply -f deployment.yml, подайте этот секрет работает как положено, образ загружается без проблем, и развертывание прошло успешно.

Вопрос в том, как заставить этот секрет работать с диаграммами рулевого управления?

Ответы [ 2 ]

0 голосов
/ 10 мая 2020

Попробуйте создать секрет, используя эту команду:

kubectl  create secret docker-registry mysecret --docker-server=<docker-repo> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<email>

(укажите соответствующие данные в приведенной выше команде)

0 голосов
/ 30 апреля 2020

Из документа helm

Сначала предположим, что учетные данные определены в файле values.yaml следующим образом:

imageCredentials:
  registry: quay.io
  username: someone
  password: sillyness

Затем мы определим наш вспомогательный шаблон следующим образом:

{{- define "imagePullSecret" }}
{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.imageCredentials.registry (printf "%s:%s" .Values.imageCredentials.username .Values.imageCredentials.password | b64enc) | b64enc }}
{{- end }}

Наконец, мы используем вспомогательный шаблон в большем шаблоне для создания манифеста секрета:

apiVersion: v1
kind: Secret
metadata:
  name: myregistrykey
type: kubernetes.io/dockerconfigjson
data:
  .dockerconfigjson: {{ template "imagePullSecret" . }}

В развертывании

  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: myregistrykey
...