Разрешено ли и используется ли несколькими imagePullSecrets Kubernetes для извлечения изображения из частного реестра? - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть личный реестр (gitlab), где хранятся мои изображения докеров.Для развертывания создается секрет, который позволяет GKE получить доступ к реестру.Секрет называется deploy-secret.Срок действия секретной информации истекает через некоторое время в реестре.

Я дополнительно создал второй постоянный секрет, который разрешает доступ к реестру докера, с именем permanent-secret.

Можно ли указать Pod с двумя секретами?Например:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: <your-private-image>
  imagePullSecrets:
  - name: deploy-secret
  - name: permanent-secret

Будет ли Kubernetes при попытке повторного извлечения образа позже распознать, что первый секрет не работает (не разрешает аутентификацию в частном реестре), а затем успешно выполнить откат ко второмусекрет?

1 Ответ

0 голосов
/ 16 февраля 2019

Удивительно, но это работает!Я только что попробовал это на моем кластере.Я добавил фальшивый секретный ключ с неверными значениями.Я поместил оба секрета в свой yaml, как вы сделали (ниже), и были созданы модули, и контейнер создан и успешно запущен:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        app: test
    spec:
      nodeSelector:
      containers:
      - image: gitlab.myapp.com/my-image:tag
        name: test
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: regcred-test
      - name: regcred

Секрет regcred имеет правильные значения, а regcred-test - этопросто кучка тарабарщины.Итак, мы видим, что он игнорирует неверный секрет.

...