Créez un secret d'informations d'identification de registre et une référence dans les spécifications d'espace et de déploiement afin de pouvoir extraire des images de conteneur sans erreur.
Docker Hub nécessite un compte pour pouvoir en extraire des images. Vous pouvez créer un secret Kubernetes avec vos informations d'identification Docker Hub et référencer ce secret dans les espaces et les spécifications de déploiement.
Cette approche peut également être utilisée pour d'autres registres privés.
Procédure
- Exécutez
docker version
et vérifiez que Docker est installé.
- Exécutez
docker login -u USERNAME
.
- Entrez votre mot de passe Docker Hub.
- Exécutez
cat ~/.docker/config.json
.
- Exécutez la commande suivante pour créer un secret générique nommé
regcred
qui inclut vos informations d'identification d'accès Docker Hub.
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
Vous devez voir
secret/regcred created
.
- Vérifiez le secret.
kubectl get secrets
NAME TYPE DATA AGE
default-token-w7wqk kubernetes.io/service-account-token 3 6h28m
regcred kubernetes.io/dockerconfigjson 1 3h22m
Référencez le secret regcred dans le fichier YAML.
- Recherchez le secret
regcred
dans la section imagePullSecrets
de la spécification d'espace ou de déploiement pour les images de conteneur.
Par exemple :
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