Dans Google Container Registry, j'ai essayé de créer un outil qui parallélise de manière appropriée et supprime les images.
https://github.com/h-r-k-matsumoto/gcr-garbage-collect
Lorsque je veux effacer des images inutiles sans balises dans Google Container Registry pour la santé mentale, je le fais à partir de l'écran de la console.
Si vous en faites 10 ou plus à la fois, ce sera presque certainement comme suit ** Impossible de supprimer une ou plusieurs images sélectionnées. ** ** S'affiche et certaines suppressions échouent.
Ensuite, si vous exécutez ce qui suit à partir du shell, vous pouvez le supprimer de manière stable, mais il faut environ 5 secondes pour supprimer une image, ** C'est extrêmement lent. ** **
# get image list
gcloud container images list-tags asia.gcr.io/{project-id}/${image-name} --filter="NOT tags:* AND timestamp.datetime < '2018-06-01'"
# delete image
gcloud container images delete asia.gcr.io/{project-id}/${image-name}@sha256:{digest} --force-delete-tags --quiet
Ensuite, vous pouvez le paralléliser et le supprimer! C'est pourquoi j'ai créé un outil.
https://github.com/h-r-k-matsumoto/gcr-garbage-collect
** Confirmation de la cible de suppression **
$ java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --dry-run=true
** Supprimer l'exécution **
$ java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --dry-run=false
** Supprimer uniquement des images spécifiques **
java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --gcloud.container.image=asia.gcr.io/{gcp-project-id}/{image-name}
** Changer le nombre de parallèles **
$ java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --parallelism=16
--Je n'ai pas vu l'API pour le registre de conteneurs dans Google Documents ... Puisqu'il n'y a aucune aide pour cela, j'utilise le format d'exécution directe gcloud.
--Dans l'environnement Windows, application.yaml ou comme argument d'exécution
--gcloud.command =" C: / Program Files (x86) / Google / Cloud SDK / google-cloud-sdk / bin / gcloud.cmd Veuillez préciser "
etc.
――J'utilise ProcessBuilder depuis longtemps, mais il n'absorbe pas <
et "
selon chaque système d'exploitation.
«Je pensais en faire une image docker, mais c'était ennuyeux pour l'authentification gcloud, alors j'ai arrêté.
«Je me demandais à quelle vitesse c'était, mais j'ai décidé de la comparer, mais j'ai arrêté parce que je n'avais pas planifié la vitesse en premier lieu.
Recommended Posts