Crie um segredo de credencial do Registro e uma referência nas especificações do pod e da implantação para que você possa efetuar pull de imagens de contêiner sem erros.

O Docker Hub requer uma conta da qual extrair imagens. Você pode criar um segredo do Kubernetes com suas credenciais do Docker Hub e fazer referência a esse segredo nos pods e nas especificações de implantação.

Essa abordagem também pode ser usada para outros registros privados.

Pré-requisitos

Instale o Docker em uma máquina cliente Ubuntu. Consulte https://docs.docker.com/engine/install/ubuntu/.

Procedimento

  1. Execute docker version e verifique se o Docker está instalado.
  2. Execute docker login -u USERNAME.
  3. Digite sua senha do Docker Hub.
  4. Execute cat ~/.docker/config.json.
  5. Execute o seguinte comando para criar um segredo genérico chamado regcred que inclui suas credenciais de acesso do Docker Hub.
    kubectl create secret generic regcred \
        --from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json \
        --type=kubernetes.io/dockerconfigjson
    
    Você deverá ver secret/regcred created.
  6. Verifique o segredo.
    kubectl get secrets
    
    NAME                  TYPE                                  DATA   AGE
    default-token-w7wqk   kubernetes.io/service-account-token   3      6h28m
    regcred               kubernetes.io/dockerconfigjson        1      3h22m
    
    Faça referência ao segredo regcred no YAML.
  7. Consulte o segredo regcred na seção imagePullSecrets do pod ou especificação de implantação para imagens de contêiner.
    Por exemplo:
    apiVersion: v1
    kind: Pod
    metadata:
      name: ping-pod
      namespace: default
    spec:
      containers:
      - image: busybox:1.34
        name: busybox
        command: ["ping", "-c"]
        args: ["1", "8.8.8.8"]
      imagePullSecrets:
      - name: regcred
      restartPolicy: Never