Ich habe ein Reinigungstool für Google Container Registry erstellt

Einführung

In der Google Container-Registrierung habe ich versucht, ein Tool zu erstellen, das entsprechend parallelisiert und Bilder löscht.

https://github.com/h-r-k-matsumoto/gcr-garbage-collect

Hintergrund

Wenn ich unnötige Bilder ohne Tags in der Google Container-Registrierung für die psychische Gesundheit löschen möchte, mache ich das über den Konsolenbildschirm.

Wenn Sie 10 oder mehr gleichzeitig ausführen, ist dies mit ziemlicher Sicherheit wie folgt ** Ein oder mehrere ausgewählte Bilder konnten nicht gelöscht werden. ** ** ** Wird angezeigt und einige Löschvorgänge schlagen fehl. image.png

Wenn Sie dann Folgendes aus der Shell ausführen, können Sie es stabil löschen, aber es dauert ungefähr 5 Sekunden, um ein Bild zu löschen. ** Es ist extrem langsam. ** ** **

# 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

Dann können Sie es parallelisieren und löschen! Deshalb habe ich ein Werkzeug gemacht.

Werkzeug

Was wurde gemacht

https://github.com/h-r-k-matsumoto/gcr-garbage-collect

** Bestätigung des Löschziels **

$ java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --dry-run=true

** Ausführung löschen **

$ java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --dry-run=false

** Nur bestimmte Bilder löschen **

java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --gcloud.container.image=asia.gcr.io/{gcp-project-id}/{image-name}

** Ändern Sie die Anzahl der Parallelen **

$ java -jar gcr-garbage-collect-0.0.1-SNAPSHOT.jar --parallelism=16

In Bezug auf die Schöpfung

Andere

――Ich habe ProcessBuilder schon lange verwendet, aber es absorbiert nicht "<" und "" ", je nach Betriebssystem. ――Ich habe versucht, daraus ein Docker-Image zu machen, aber ich habe aufgehört, weil es bei der gcloud-Authentifizierung Probleme gab. »Ich habe mich gefragt, wie schnell es war, aber ich habe angehalten, weil ich die Geschwindigkeit überhaupt nicht geplant habe.

Recommended Posts

Ich habe ein Reinigungstool für Google Container Registry erstellt
Ich habe ein nützliches Tool für Digital Ocean erstellt
Lassen Sie uns Chat-Benutzerverwaltungstool gemacht
Ich habe ein Dash-Docset für Holoviews erstellt
Erstelltes WebSocket Client / Server-CLI-Tool (wie WebSocket Version Netcat)
Ich habe versucht, ein Gerüstwerkzeug für Python Web Framework Bottle zu erstellen
Ich habe ein automatisches Stempelwerkzeug für den Browser erstellt.
Ich habe eine Bibliothek für versicherungsmathematische Versicherungen erstellt
Ich habe einen Docker-Container erstellt, um JUMAN ++, KNP, Python (für pyKNP) zu verwenden.
Ich habe eine Python-Wörterbuchdatei für Neocomplete erstellt
Ich habe einen Ersatz2-Algorithmus für uWSGI billiger gemacht
Ich habe ein Router-Konfigurationssammlungstool Config Collecor erstellt
Ich habe einen Downloader für wortverteilte Ausdrücke erstellt
Ich habe ein Tool erstellt, um Hy nativ zu kompilieren
Ich habe ein Tool erstellt, um neue Artikel zu erhalten
Wir haben ein Peeping-Prevention-Produkt für die Telearbeit entwickelt.
〇✕ Ich habe ein Spiel gemacht
Ich habe mit Tkinter ein Fenster für die Protokollausgabe erstellt
Ich habe eine VM erstellt, auf der OpenCV für Python ausgeführt wird
[Python] Ich habe einen Klassifikator für Iris erstellt [Maschinelles Lernen]
Ich habe ein Tool zur Erzeugung sich wiederholender Textdaten "rpttxt" erstellt.
Ich habe einen Python-Text gemacht
Befehl für FizzBuzz erstellt
Ich habe einen Zwietrachtbot gemacht
[VSCode] Ich habe ein Benutzer-Snippet für Python-Druck-F-String erstellt
Ich habe ein Tool erstellt, um eine Wortwolke aus Wikipedia zu erstellen
Ich habe versucht, Tensorboard zu verwenden, ein Visualisierungstool für maschinelles Lernen
Ich habe einen Ressourcenmonitor für Raspberry Pi mit einer Tabelle erstellt
Ich habe ein Lernkit für word2vec / doc2vec / GloVe / fastText erstellt
Ich habe versucht, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ③
[Titan Craft] Ich habe ein Werkzeug gemacht, um einen Riesen nach Minecraft zu rufen
Erstellt ein Tool, mit dem Sie bequem Parameter für Modelle des maschinellen Lernens festlegen können
Ich habe eine C ++ - Lernseite erstellt
Ich berührte PyAutoIt für einen Moment
Ich habe einen Line-Bot mit Python gemacht!
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Ich habe mit Python eine Lotterie gemacht.
Ich habe viele Dateien für die RDP-Verbindung mit Python erstellt
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Ich habe eine Entwicklungsumgebung für Django 3.0 mit Docker, Docker-Compose und Poetry erstellt
Ich habe mit Python einen Daemon erstellt
Ich habe eine Python-Wrapper-Bibliothek für die Docomo-Bilderkennungs-API erstellt.
Ich habe ein Tool zum automatischen Durchsuchen mehrerer Websites mit Selenium (Python) erstellt.
[Ver1.3.1 Update] Ich habe DataLiner erstellt, eine Datenvorverarbeitungsbibliothek für maschinelles Lernen.
Ich habe mir das Google-Labor notiert, das Spleeter problemlos verwenden kann.
Ich habe ein CLI-Tool erstellt, um Bilder in jedem Verzeichnis in PDF zu konvertieren
Ich habe eine Art einfaches Bildverarbeitungswerkzeug in der Sprache Go erstellt.
Ich habe ein Tool erstellt, um Jupyter py mit VS Code in ipynb zu konvertieren
Ich habe ein Tool erstellt, das die Dekomprimierung mit CLI (Python3) etwas erleichtert.
Ich habe einen neuen AWS S3-Eimer hergestellt
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich berührte "Orator" und machte mir eine Notiz
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe ein alternatives Modul für japandas.DataReader erstellt
Anfänger: Ich habe einen Launcher mit dem Wörterbuch erstellt
Hinweise zum Erstellen von Textformatierungswerkzeugen
Ich habe einen Gesprächspartner wie Siri gemacht
Ich habe ein Skript erstellt, um Piktogramme anzuzeigen
Ein Tool zur einfachen Eingabe von Python-Code
Ich habe mit Python eine Hex-Map erstellt