管理工具版本

Cloud Deploy 使用包含默认工具版本的自定义映像执行其操作。Cloud Deploy 允许您指定在渲染、部署和验证清单的操作中使用的工具版本,从而让您灵活掌控部署流程。

本页面介绍了 Cloud Deploy 工具版本的选择方式,以及每个工具版本的维护和支持时间。

支持的 Cloud Deploy 工具版本

Cloud Deploy 可让您选择以下工具的版本:

Cloud Deploy 提供了一个可用于操作的可用工具版本代码库。所有这些版本均受维护和弃用政策的约束。

默认工具版本

如果未提供用户指定的工具版本,则在创建版本时使用默认工具版本。

每周都会发布新的 Cloud Deploy 映像,其中包含映像构建时可用的最新工具版本。根据工具的不同发布时间表,新工具版本可能需要最多两周的时间才能成为默认版本。

您可以运行以下命令来查看默认版本:

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

修复了工具版本控制

默认情况下,所有工具版本都会保存到发布资源中。工具版本在创建版本时与版本相关联,用于该版本的整个生命周期,并且在该生命周期内无法更改。版本生命周期包括对该版本进行的所有渲染、部署和其他作业。这包括部署到最终目标(以及回滚或重新部署)。 您可以通过运行以下命令查找与版本关联的工具版本:

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

在工具版本控制功能推出之前创建的发布版本不会在其输出中列出 toolVersions。不过,您可以使用 --format 'yaml(skaffoldVersion)' 标志查看其 Skaffold 版本。

停用固定工具版本控制

如果您想停用固定工具版本控制,并针对给定版本使用最新工具,可以为每个工具指定特殊关键字 latest。以下示例展示了如何创建使用所有工具最新版本的版本:

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

如何指定要使用的特定工具版本

您可以使用任何受支持的工具版本。如需指定要使用的版本,请添加相应工具的相应标志:

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

对于要使用默认版本的任何工具,您可以省略相应的版本标志。

例如,以下命令使用 Skaffold 2.16.1 和 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

工具版本兼容性

Cloud Deploy 负责确保工具版本在 Cloud Deploy 映像上兼容。如果您使用工具版本替换功能来替换 Cloud Deploy 映像中的工具版本,则需要负责选择兼容的工具版本。

工具版本弃用和维护政策

工具版本自导入之日起提供 12 个月的支持,维护期为 60 天。此维护期限意味着在该工具版本的支持到期后的 60 天内,仍支持与该工具版本关联的版本。您仍然可以基于这些版本创建发布版本,但无法使用处于维护期的工具版本创建版本

60 天的维护期过后,该工具版本将不再支持任何操作。您无法再使用不受支持的版本创建发布。不过,与该版本关联的所有数据仍会保留。

您可以运行以下命令来查看版本的维护日期和到期日期:

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

您还可以通过运行以下命令来查看特定工具的维护和到期日期:

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

维护日期和到期日期会以注释的形式显示在相应版本上。

旧版 Skaffold 版本

Cloud Deploy 过去会提供受支持的 Skaffold 版本的具体列表。这些 Skaffold 版本对应于使用相应特定版本的 Skaffold 和其他工具构建的 Cloud Deploy 映像。Skaffold 版本的支持时长为 12 个月,维护期为 60 天。

Cloud Deploy 正在弃用此模型,以期改善 Cloud Deploy 的安全状况。由于无需提供与特定 Skaffold 版本对应的映像,Cloud Deploy 可以更快地解决漏洞,并更频繁地更新默认工具版本。

在到期日期之前,现有 Skaffold 版本将继续获得支持。

Skaffold 版本 截至以下日期 维护开始 到期日期
2.16版本说明 2025 年 5 月 12 日 2026 年 5 月 14 日 2026 年 7 月 13 日
2.14版本说明 2025 年 2 月 17 日 2026 年 2 月 25 日 2026 年 4 月 26 日

您可以在以下命令中使用 --skaffold-version 标志,继续创建使用这些特定 Skaffold 版本的版本:

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