Blog

Wie Sie verweilende Packer-Instanzen auf Google Cloud Platform löschen

Mark van Holsteijn

Mark van Holsteijn

Aktualisiert Oktober 21, 2025
2 Minuten

HashiCorp Packer ist ein großartiges Tool zur Erstellung von Images virtueller Maschinen für eine Vielzahl von Plattformen, einschließlich Google Cloud. Normalerweise startet Packer eine GCE-Instanz, erstellt das Maschinen-Image auf ihr und beendet die Instanz nach Abschluss. Manchmal wird der Prozess jedoch abgebrochen und die Instanz läuft weiter und verursacht unnötige Cloud-Ausgaben. In diesem Blog stelle ich ein Dienstprogramm vor, mit dem sich verweilende Packer-Instanzen löschen lassen.

Das Dienstprogramm gcp-hashicorp-packer-reaper hält alle Packer Builder GCE-Instanzen an oder beendet sie. Sie verwenden es über das Befehlszeilendienstprogramm oder installieren es als Cloud Run-Dienst, so dass alte Instanzen automatisch beendet werden.

den Sensenmann installieren

um den Packer Reaper zu installieren, geben Sie ein:

$ pip install gcp-hashicorp-packer-reaper

Mit diesem Dienstprogramm können Sie jede GCE-Instanz auflisten, anhalten oder beenden, deren Name mit packer- beginnt und deren Beschreibung New instance created by Packer lautet. Es gibt keine weitere Überprüfung, ob es sich bei der Instanz tatsächlich um einen von Packer gestarteten Rechner handelt. Der Name ist ziemlich eindeutig, aber wenn Sie Instanzen mit demselben Namenspräfix und derselben Beschreibung starten, werden auch diese ausgewählt.

Packer-Instanzen anzeigen

Um laufende Packer-Instanzen anzuzeigen:

$ gcp-hashicorp-packer-reaper list
packer-5e99d4f2-b5a5-e9e0-b763-cd5102ae7e73 launched 7 minutes ago in your-project - europe-west4-c - RUNNING
INFO: 1 packer builder instances found

Packer-Instanzen anhalten

Um die Ausführung von Packer-Instanzen, die älter als 2 Stunden sind, zu stoppen:

$ gcp-hashicorp-packer-reaper stop --older-than 2h

INFO: stopping packer-5e99d4f2-b5a5-e9e0-b763-cd5102ae7e73 in your-project created 3 hours ago
INFO: total of 1 running instances stopped

Packer-Instanzen löschen

Um gestoppte und laufende Packer-Instanzen, die älter als 24 Stunden sind, zu beenden:

gcp-hashicorp-packer-reaper --verbose delete --older-than 24h

INFO: deleting packer-5e99d4f2-b5a5-e9e0-b763-cd5102ae7e73 in your-project created 2 days ago
INFO: total of 1 instances deleted

den Packer Reaper einsetzen

Um den Packer Reaper als Dienst in Ihrem Projekt einzusetzen, geben Sie ein:

git clone https://github.com/binxio/gcp-hashicorp-packer-reaper.git
cd gcp-hashicorp-packer-reaper

PROJECT=$(gcloud config get-value project)
make USERNAME=$PROJECT snapshot

cd terraform
terraform init
terraform apply -var project=$PROJECT -auto-approve

Dadurch wird der Packer Reaper in Ihrem GCP-Projekt installiert und alle 10 Minuten ausgeführt, und Instanzen, die älter als 2 Stunden sind, werden gelöscht. Sie können den Zeitplan und die Aktion an Ihre Anforderungen anpassen.

Fazit

Das Dienstprogramm gcp-hashicorp-packer-reaper stoppt oder löscht alle von Packer gestarteten virtuellen Maschinen. Ich empfehle Ihnen, den Dienst Cloud Run in Ihrem GCP-Konto einzurichten, so dass Sie nie für verweilende Packer-Instanzen bezahlen müssen.

Haben Sie dieses Problem bei AWS? Lesen Sie meinen Blog zum Thema Wie man verweilende Packer-Instanzen auf AWS beendet

Verfasst von

Mark van Holsteijn

Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.

Contact

Let’s discuss how we can support your journey.