Erstellen Sie einen geheimen Registrierungsschlüssel und eine Referenz in den Pod- und Bereitstellungsspezifikationen, damit Sie Container-Images ohne Fehler abrufen können.

Docker Hub benötigt ein Konto zum Abrufen von Images. Sie können einen geheimen Kubernetes-Schlüssel mit Ihren Docker Hub-Anmeldedaten erstellen und in Pods und Bereitstellungsspezifikationen auf diesen geheimen Schlüssel verweisen.

Dieser Ansatz kann auch für andere private Registrierungen verwendet werden.

Voraussetzungen

Installieren Sie Docker auf einem Ubuntu-Clientcomputer. Weitere Informationen hierzu finden Sie unter https://docs.docker.com/engine/install/ubuntu/.

Prozedur

  1. Führen Sie docker version aus und stellen Sie sicher, dass Docker installiert ist.
  2. Führen Sie docker login -u USERNAME aus.
  3. Geben Sie Ihr Docker Hub-Kennwort ein.
  4. Führen Sie cat ~/.docker/config.json aus.
  5. Führen Sie den folgenden Befehl aus, um einen generischen geheimen Schlüssel mit dem Namen regcred zu erstellen, der Ihre Docker Hub-Anmeldedaten enthält.
    kubectl create secret generic regcred \
        --from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json \
        --type=kubernetes.io/dockerconfigjson
    
    Sie sollten secret/regcred created sehen.
  6. Überprüfen Sie den geheimen Schlüssel.
    kubectl get secrets
    
    NAME                  TYPE                                  DATA   AGE
    default-token-w7wqk   kubernetes.io/service-account-token   3      6h28m
    regcred               kubernetes.io/dockerconfigjson        1      3h22m
    
    Verweisen Sie in der YAML auf den registrierten geheimen Schlüssel.
  7. Verweisen Sie im Abschnitt imagePullSecrets des Pods oder der Bereitstellungsspezifikation für Container-Images auf den geheimen regcred-Schlüssel.
    Beispiel:
    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