Kubernetes не тянет изображение из частного реестра - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь развернуть образ из моего частного реестра (порта) в моей среде Kubernetes. Реестр был настроен успешно и уже содержит мое изображение.

Для контекста это мой файл развертывания:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    name: sps-app
  name: sps-app
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: sps-app
    spec:
      containers:
      - image: repo-harbor.test.com/sps_project/spsapp:23
        env:
        - name: MONGODB_URL
          value: "mongodb://mongo.default.svc.cluster.local:27017/user"
        name: sps-app
        ports:
        - containerPort: 4000
          name: sps-app
      imagePullSecrets:
      - name: harbor 

Я уже создал свой секрет гавани, используя следующую команду

kubectl create secret docker-registry harbor \
--docker-server=https://repo-harbor.test.com \
--docker-username=admin \
--docker-password='xxxxxx!'

Однако, когда я выполняю kubectl apply -f моего развертывания, это всегда приводит к откату образа.

После дальнейшего изучения я проверил логи модуля и обнаружил, что существует ошибка сертификации x509.

Кубернетские события:

Events:
  Type     Reason          Age              From                                           Message
  ----     ------          ----             ----                                           -------
  Normal   Scheduled       3m               default-scheduler                              Successfully assigned default/private-image-test-1 to df56bd02-5e0e-4644-a565-c233ac2404fe
  Normal   Pulling         2m (x3 over 3m)  kubelet, df56bd02-5e0e-4644-a565-c233ac2404fe  pulling image "jur01-harbor.acepod.com/sps_project/spsapp:2"
  Warning  Failed          2m (x3 over 3m)  kubelet, df56bd02-5e0e-4644-a565-c233ac2404fe  Failed to pull image "jur01-harbor.acepod.com/sps_project/spsapp:2": rpc error: code = Unknown desc = Error response from daemon: Get https://jur01-harbor.acepod.com/v2/: x509: certificate signed by unknown authority
  Warning  Failed          2m (x3 over 3m)  kubelet, df56bd02-5e0e-4644-a565-c233ac2404fe  Error: ErrImagePull
  Warning  Failed          2m (x4 over 3m)  kubelet, df56bd02-5e0e-4644-a565-c233ac2404fe  Error: ImagePullBackOff
  Normal   SandboxChanged  2m (x7 over 3m)  kubelet, df56bd02-5e0e-4644-a565-c233ac2404fe  Pod sandbox changed, it will be killed and re-created.
  Normal   BackOff         2m (x5 over 3m)  kubelet, df56bd02-5e0e-4644-a565-c233ac2404fe  Back-off pulling image "jur01-harbor.acepod.com/sps_project/spsapp:2"

На данный момент, я не уверен, как решить эту проблему. Кто-нибудь, как решить эту проблему?

1 Ответ

1 голос
/ 30 мая 2019

первопричина

В реестре образов на jur01-harbor.acepod.com используется самозаверяющий сертификат, которому Docker не доверяет.

Решение

Скопируйте пользовательский сертификат CA, представленный этим реестром образов, на все ваши узлы Kubernetes 'в каталоге с именем /etc/docker/certs.d/jur01-harbor.acepod.com/.

Ссылка: Документация Docker / Проверка небезопасного реестра .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...