incapaz de puxar imagens em kubernetes do registro privado

1

Eu configurei um registro privado no docker acessível através de um domínio "makdom.ddns.net", eu posso fazer o login e puxar imagens localmente, não há problema, mesmo a partir do nó de escravo kubes eu posso fazer isso,

mas quando escrevo um arquivo de implantação do kubes, ele não consegue extrair imagens do registro privado e falha.

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: ssh-deployment
spec:
  template:
    metadata:
      labels:
        app: helloworld
    spec:
      containers:
      - name: ssh-demo
        image: makdom.ddns.net/my-ubuntu
        imagePullPolicy: IfNotPresent
        ports:
        - name: nodejs-port
          containerPort: 22
      imagePullSecrets:
      - name: myregistrykey

segredos:

DOCKER_REGISTRY_SERVER="https://makdom.ddns.net/v1/"
DOCKER_USER="user"
DOCKER_PASSWORD="password"
DOCKER_EMAIL="[email protected]" 

kubectl create secret docker-registry myregistrykey \
  --docker-server=$DOCKER_REGISTRY_SERVER \
  --docker-username=$DOCKER_USER \
  --docker-password=$DOCKER_PASSWORD \
  --docker-email=$DOCKER_EMAIL  

erro:

Events:
  Type     Reason                 Age               From                  Message
  ----     ------                 ----              ----                  -------
  Normal   Scheduled              1m                default-scheduler     Successfully assigned ssh-deployment-7b7c7bf977-m6stk to kubes-slave
  Normal   SuccessfulMountVolume  1m                kubelet, kubes-slave  MountVolume.SetUp succeeded for volume "default-token-mx7qq"
  Normal   Pulled                 1m (x3 over 1m)   kubelet, kubes-slave  Container image "makdom.ddns.net/my-ubuntu" already present on machine
  Normal   Created                1m (x3 over 1m)   kubelet, kubes-slave  Created container
  Normal   Started                1m (x3 over 1m)   kubelet, kubes-slave  Started container
  Normal   Pulling                34s (x2 over 1m)  kubelet, kubes-slave  pulling image "makdom.ddns.net/my-ubuntu"
  Warning  Failed                 34s (x2 over 1m)  kubelet, kubes-slave  Failed to pull image "makdom.ddns.net/my-ubuntu": rpc error: code = Unknown desc = Error: image my-ubuntu:latest not found
  Warning  Failed                 34s (x2 over 1m)  kubelet, kubes-slave  Error: ErrImagePull
  Warning  BackOff                19s (x6 over 1m)  kubelet, kubes-slave  Back-off restarting failed container
    
por Mohd 23.12.2017 / 15:21

1 resposta

1

Problema conhecido link , resolvido no mestrado em link

Correção direcionada para o 1.9.1 no link

Soluções alternativas até então:

Se você já tiver um .dockerconfigjson para seu registro privado, poderá especificar manualmente o tipo e a chave de dados:

kubectl create secret generic my-secret-name \
  --type=kubernetes.io/dockerconfigjson \
  --from-file .dockerconfigjson=/path/to/.dockerconfigjson

Se você não tiver um arquivo .dockerconfigjson, poderá corrigir o segredo produzido por kubectl create secret docker-registry manualmente:

  1. adicione --dry-run -o yaml > secret.yaml
  2. altere o tipo de kubernetes.io/dockercfg para kubernetes.io/dockercfgjson
  3. altere a chave de dados de .dockercfg para .dockercfgjson
  4. crie o segredo modificado com kubectl create -f secret.yaml
por 23.12.2017 / 22:05