2
votes

K8S n'a pas réussi à extraire l'image du dépôt local

J'ai une image dans mon référentiel docker. J'essaie de créer un POD à partir de celui-ci, mais K8S donne l'erreur suivante.

Échec de l'extraction de l'image "cloudanswer: latest": rpc error: code = Unknown desc = Get https://registry-1.docker.io/v2/ : net / http: requête annulée en attente de connexion (Client.Timeout dépassé en attente d'en-têtes)

Il semble que K8S se connecte à https://registry-1.docker.io/v2/ au lieu de prendre à partir du référentiel Docker local.

Comment faire en sorte que K8S prenne une image pour le référentiel Docker local?


2 commentaires

que voulez-vous dire dépôt local de docker? si vous avez un registre privé, vous devez spécifier le nom complet de l'image (avec le registre)


Pouvez-vous exécuter la connexion Docker?


3 Réponses :


-1
votes

imagePullPolicy doit être défini sur IfNotPresent pour extraire des images du référentiel Docker local


0 commentaires

0
votes

Kubernetes prend en charge un type spécial de secret que vous pouvez créer et qui sera utilisé pour récupérer des images pour vos pods. Plus de détails ici


0 commentaires

1
votes

Si vous utilisez un nœud unique dans votre cluster, assurez-vous que cette image Docker est disponible sur ce nœud. Vous pouvez vérifier via

docker pull <dns-name-of-machine>:5000/ubuntu

Définissez également imagePullPolicy sur Never , sinon Kubernetes essaiera de télécharger l'image.

Cluster à nœuds multiples

, vous pouvez utiliser le docker image de registre . Utilisez un registre local:

docker push <dns-name-of-machine>:5000/ubuntu

Maintenant, balisez correctement votre image:

docker tag ubuntu <dns-name-of-machine>:5000/ubuntu

nom DNS de la machine exécutant le conteneur de registre doit être accessible par tous les nœuds du réseau

Poussez maintenant votre image vers le registre local:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

Vous devriez pouvoir extraire il retourne:

docker image ls

Maintenant, changez votre fichier yaml pour utiliser le registre local.


0 commentaires