Tool-Versionen verwalten

Cloud Deploy führt seine Vorgänge mit einem benutzerdefinierten Image aus, das Standardversionen von Tools enthält. Cloud Deploy bietet Ihnen Flexibilität und Kontrolle über den Bereitstellungsprozess, da Sie Toolversionen angeben können, die in Vorgängen zum Rendern, Bereitstellen und Überprüfen Ihrer Manifeste verwendet werden sollen.

Auf dieser Seite wird beschrieben, wie Toolversionen von Cloud Deploy ausgewählt werden und wie lange Wartung und Support für die einzelnen Toolversionen angeboten werden.

Unterstützte Toolversionen von Cloud Deploy

In Cloud Deploy können Sie die Versionen für die folgenden Tools auswählen:

Cloud Deploy bietet ein Repository mit verfügbaren Toolversionen, die Sie für Ihre Vorgänge verwenden können. Für alle diese Versionen gelten die Wartungs- und Einstellungsrichtlinien.

Standardversionen von Tools

Wenn keine vom Nutzer angegebenen Toolversionen bereitgestellt werden, werden bei der Releaseerstellung Standardversionen von Tools verwendet.

Jede Woche wird ein neues Cloud Deploy-Image mit den neuesten Toolversionen veröffentlicht, die zum Zeitpunkt der Imageerstellung verfügbar sind. Je nach Zeitplan der verschiedenen Releasezyklen der Tools kann es bis zu zwei Wochen dauern, bis eine neue Toolversion zur Standardversion wird.

Mit dem folgenden Befehl können Sie die Standardversionen aufrufen:

gcloud deploy get-config \
      --project=PROJECT \
      --region=REGION \
      --format 'yaml(defaultToolVersions)'

Feste Toolversionierung

Alle Toolversionen werden standardmäßig in der Release-Ressource gespeichert. Die Toolversionen werden bei der Releaseerstellung mit einem Release verknüpft und für den gesamten Lebenszyklus dieses Release verwendet. Sie können während dieser Laufzeit nicht geändert werden. Der Release-Lebenszyklus umfasst alle Rendering-, Bereitstellungs- und anderen Jobs für dieses Release. Dazu gehört auch die Bereitstellung im endgültigen Ziel im Fortschritt und darüber hinaus (Rollbacks oder erneute Bereitstellungen). Mit dem folgenden Befehl können Sie die Toolversionen aufrufen, die mit einem Release verknüpft sind:

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format='yaml(toolVersions)'

Bei Releases, die vor der Einführung der Toolversionierungsfunktion erstellt wurden, werden in der Ausgabe keine Toolversionen aufgeführt. Stattdessen können Sie die Skaffold-Version mit dem --format 'yaml(skaffoldVersion)' Flag aufrufen.

Feste Toolversionierung deaktivieren

Wenn Sie die feste Toolversionierung deaktivieren und die neuesten Tools für ein bestimmtes Release verwenden möchten, können Sie für jedes Tool das spezielle Keyword latest angeben. Hier ein Beispiel für die Erstellung eines Release, bei dem die neuesten Versionen für alle Tools verwendet werden:

gcloud deploy releases create RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --docker-version=latest \
       --helm-version=latest \
       --kpt-version=latest \
       --kubectl-version=latest \
       --kustomize-version=latest \
       --skaffold-version=latest

Bestimmte Toolversion angeben

Sie können eine beliebige der unterstützten Toolversionen verwenden. Wenn Sie die Version angeben möchten, die Sie verwenden möchten, fügen Sie das entsprechende Flag für das jeweilige Tool ein:

gcloud deploy releases create RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --docker-version=DOCKER_VERSION \
       --helm-version=HELM_VERSION \
       --kpt-version=KPT_VERSION \
       --kubectl-version=KUBECTL_VERSION \
       --kustomize-version=KUSTOMIZE_VERSION \
       --skaffold-version=SKAFFOLD_VERSION

Für alle Tools, bei denen Sie die Standardversion verwenden möchten, können Sie das entsprechende Versionsflag weglassen.

Der folgende Befehl verwendet beispielsweise Skaffold 2.16.1 und Helm 3.18.3:

gcloud deploy releases create release-001 \
                              --delivery-pipeline=PIPELINE_NAME \
                              --skaffold-version=2.16.1 \
                              --helm-version=3.18.3 \
                              --project=PROJECT \
                              --region=REGION

Kompatibilität von Toolversionen

Cloud Deploy sorgt dafür, dass die Toolversionen im Cloud Deploy-Image kompatibel sind. Wenn Sie die Funktion zum Ersetzen von Toolversionen verwenden, um Toolversionen im Cloud Deploy-Image zu ersetzen, müssen Sie kompatible Toolversionen auswählen.

Einstellungs- und Wartungsrichtlinie für Toolversionen

Toolversionen werden ab dem Tag des Imports 12 Monate lang mit einem Wartungszeitraum von 60 Tagen unterstützt. Dieser Wartungszeitraum bedeutet, dass Releases, die an eine Toolversion gebunden sind, nach Ablauf des Supports für diese Toolversion noch 60 Tage lang unterstützt werden. Sie können weiterhin Rollouts aus diesen Releases erstellen, aber keine Releases mit einer Toolversion, die sich im Wartungszeitraum befindet.

Nach dem 60-tägigen Wartungszeitraum wird die Toolversion für keine Vorgänge mehr unterstützt. Sie können keine Rollouts mehr aus einem Release erstellen, das die nicht unterstützte Version verwendet. Alle mit dem Release verknüpften Daten bleiben jedoch erhalten.

Mit dem folgenden Befehl können Sie die Wartungs- und Ablaufdaten für das Release aufrufen:

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format 'yaml(condition)'

Mit dem folgenden Befehl können Sie auch das Wartungs- und Ablaufdatum eines bestimmten Tools aufrufen:

gcloud artifacts versions list \
       --package TOOL_NAME \
       --repository tools \
       --project cd-image-prod \
       --location=REGION

Die Wartungs- und Ablaufdaten sind als Anmerkungen zu den jeweiligen Versionen verfügbar.

Legacy-Skaffold-Version

Cloud Deploy bot eine bestimmte Liste der unterstützten Skaffold-Versionen. Diese Skaffold-Versionen entsprachen einem Cloud Deploy-Image, das mit dieser bestimmten Version von Skaffold und anderen Tools erstellt wurde. Die Skaffold-Versionen wurden 12 Monate lang mit einem Wartungszeitraum von 60 Tagen unterstützt.

Cloud Deploy verabschiedet sich von diesem Modell, um die Sicherheit von Cloud Deploy zu verbessern. Da keine Images mehr bereitgestellt werden müssen, die einer bestimmten Skaffold-Version entsprechen, kann Cloud Deploy schneller auf Sicherheitslücken reagieren und die Standardversionen von Tools häufiger aktualisieren.

Vorhandene Skaffold-Versionen werden bis zum Ablaufdatum weiterhin unterstützt.

Skaffold-Version Ab Wartungsbeginn Ablauffrist
2.16 (Versionshinweise) 12. Mai 2025 14. Mai 2026 13. Juli 2026
2.14 (Versionshinweise) 17. Februar 2025 25. Februar 2026 26. April 2026

Mit dem Flag --skaffold-version im folgenden Befehl können Sie weiterhin Releases erstellen, die diese bestimmten Skaffold-Versionen verwenden:

gcloud deploy releases create RELEASE_NAME \
      --delivery-pipeline=PIPELINE_NAME \
      --skaffold-version=SKAFFOLD_VERSION \
      --project=PROJECT \
      --region=REGION