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"
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
Est-ce que cela fonctionne? 'kubectl get pod $ POD -o jsonpath =" {... imageID} "' – jonjohnson
oui cela a bien marché, 'status/containerStatuses/imageID' contient cette information. Merci beaucoup – cilerler