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.
Prozedur
- Führen Sie
docker version
aus und stellen Sie sicher, dass Docker installiert ist.
- Führen Sie
docker login -u USERNAME
aus.
- Geben Sie Ihr Docker Hub-Kennwort ein.
- Führen Sie
cat ~/.docker/config.json
aus.
- 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.
- Ü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.
- 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