kubernetes не может получить большое изображение из частного репозитория в Docker-Hub - PullRequest
0 голосов
/ 05 сентября 2018

В последнее время я начал использовать частные репозитории в docker-hub с моим кластером kubernetes.

моя версия кластера kubernetes - 1.9.2 (kubelet, kubeadm, kubectl)

мой кластер kubernetes имеет около 12 развертываний, и все они находятся в пространстве имен по умолчанию.

Я также создал секрет реестра Docker:

kubectl create secret docker-registry registrykey ..

и я пропатчил его в пространство имен по умолчанию:

kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "registrykey"}]}' 

все мои развертывания работают отлично, кроме одного, который постоянно дает мне ImagePullBackOff

когда я пытаюсь описать это, я получаю:

 Normal   BackOff  29m (x6112 over 1d)  kubelet, node1  Back-off pulling image "registry.hub.docker.com/my-image"
  Warning  Failed   19m (x6155 over 1d)  kubelet, node1  Error: ImagePullBackOff
  Warning  Failed   14m (x287 over 1d)   kubelet, node1  Failed to pull image "registry.hub.docker.com/my-image": rpc error: code = Unknown desc = Error response from daemon: repository registry.hub.docker.com/my-image not found: does not exist or no pull access
  Normal   Pulling  3m (x289 over 1d)    kubelet, node1  pulling image "registry.hub.docker.com/my-image"

Я попытался добавить в службу kubelet следующие флаги:

--image-pull-progress-deadline=5m --serialize-image-pulls=false

Я также добавил docker service следующий флаг: --max-concurrent-downloads=10

тянуть все равно не удается.

размер изображения 1,56 гига.

если я потяну его вручную через окно настройки и изменим imagePullPolicy: Always на imagePullPolicy: IfNotPresent, это будет работать. так как я не хочу делать это вручную при каждом развертывании, я застрял.

приветствуется любая идея, почему это происходит и как ее решить.

большое спасибо

редактирование: добавлена ​​учетная запись сервиса yaml:

apiVersion: v1
imagePullSecrets:
- name: registrykey
kind: ServiceAccount
metadata:
  creationTimestamp: 2018-09-04T06:55:04Z
  name: default
  namespace: default
  resourceVersion: "11698"
  selfLink: /api/v1/namespaces/default/serviceaccounts/default
  uid: 73c55e52-b00f-11e8-afec-0050569e63f0
secrets:
- name: default-token-ptx9l

и секрет:

apiVersion: v1
data:
  .dockerconfigjson: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kind: Secret
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","data":{".dockerconfigjson":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},"kind":"Secret","metadata":{"annotations":{},"creationTimestamp":null,"name":"registrykey","namespace":"default"},"type":"kubernetes.io/dockerconfigjson"}
  creationTimestamp: 2018-09-04T08:41:40Z
  name: registrykey
  namespace: default
  resourceVersion: "11689"
  selfLink: /api/v1/namespaces/default/secrets/registrykey
  uid: 57ebf775-b01e-11e8-a16b-0050569e63f0
type: kubernetes.io/dockerconfigjson

Я использую частные хранилища Docker Hub

Я все еще в отчаянии. кто-нибудь когда-либо сталкивался с таким поведением раньше?

...