0

Comment obtenez-vous le digérer d'une image contenant en cours d'exécution sur un pod à ?Comment obtenir le nom de l'image dans Google Cloud Platform Kubernetes Pod

Basé sur l'écran ci-dessous, je voudrais être en mesure de récupérer d976aea36eb5 à partir des gousses (journaux, etc. YAML quelle que soit la façon de l'obtenir)

Ce que je peux obtenir de YAML://Deployment/spec/template/spec/containers/image est mysolution.host qui est le nom commun de l'image.

enter image description here

Répondre

2

Si cela est impossible via l'API Kubernetes, vous pouvez le faire via l'API de registre de docker.

Ce que vous cherchez est digérer, qui est le hachage sha256 de son manifest. La colonne "Nom" dans la capture d'écran de l'interface utilisateur de GCR est le condensé tronqué de l'image.

La chaîne us.gcr.io/my-project-37111/mysolution.host représente un référentiel , qui est juste une collection d'images. Ces images peuvent être référencées par leur résumé ou par une étiquette.

Vous pouvez lister tous les mots-clés dans votre référentiel à l'aide gcloud:

$ gcloud container images list-tags us.gcr.io/my-project-37111/mysolution.host 

qui vous montrera le tronc digérer aussi bien. Pour la pleine digestion, vous pouvez utiliser le drapeau --format=json:

$ gcloud container images list-tags --format=json us.gcr.io/my-project-37111/mysolution.host 

Si vous connaissez la balise (0.0.5-linux pour l'image en surbrillance), vous pouvez appeler l'API de Registre directement:

$ curl \ 
    -H "Accept: *" \ 
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 
    -I https://us.gcr.io/v2/my-project-37111/mysolution.host/manifests/0.0.5-linux | 
    grep "digest" 
+0

Merci pour les informations détaillées. Je pourrais manquer expliqué ce que je suis en train de faire. Je dois obtenir cette information 'digest' pour le pod en cours d'exécution. Supposons que je mets la balise 'active' sur 0.0.5 et exécute le pod, puis change la balise' active' et ajoute 0.0.6. Je voudrais savoir si le pod en cours d'exécution est 0.0.5 ou 0.0.6 à ce moment-là. – cilerler

+0

Est-ce que cela fonctionne? 'kubectl get pod $ POD -o jsonpath =" {... imageID} "' – jonjohnson

+0

oui cela a bien marché, 'status/containerStatuses/imageID' contient cette information. Merci beaucoup – cilerler