Разрешено ли и используется ли несколькими imagePullSecrets Kubernetes для извлечения изображения из частного реестра?

У меня есть личный реестр (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 ответ

Решение

Удивительно, но это работает! Я только что попробовал это на моем кластере. Я добавил фальшивый секретный ключ с неверными значениями. Я поместил оба секрета в свой 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 это просто кучка тарабарщины. Таким образом, мы видим, что он игнорирует неверный секрет.

Другие вопросы по тегам