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