Cloud Deploy 术语

本文档中的术语根据它们在 Cloud Deploy 中的使用方式进行定义。

无满意答案

永久停用某个版本

应用

您将使用 Cloud Deploy 部署的软件。

应用交付

交付将应用部署到意向目标环境所需的资源。在 Cloud Deploy 中,应用交付包括生成、提升应用的 Kubernetes 清单和交付到集群中。

工件

要部署的容器映像(构建工件),以及用于部署的配置文件(例如清单和 Skaffold 配置)(目标工件)。

自动化

借助 Automation,您可以配置交付流水线和目标,以便对该流水线的版本和发布进行一些操作,而无需人工干预。例如,您可以设置提交流水线,以便在适当的情况下自动将资源提升到特定目标平台。了解详情

自动化操作规则

自动化操作的行为在一定程度上由自动化规则定义。自动化规则用于定义要自动执行的操作,例如发布版本。

使用自动化规则一文中列出了可用的自动化规则。

自动化运行

自动化操作的实例。

Canary 部署

一种部署策略,您先向部分用户发布更改,进行测试以确保可靠性,然后再全面发布。

子版本发布

对于并行部署,系统会生成要部署到子目标平台的发布版本。

另请参阅控制器发布

子目标

对于并行部署,目标代表您要同时部署到的多个 GKE、GKE Enterprise 或 Cloud Run 单个目标之一。

另请参阅多目标并行部署子发布

持续交付

一种软件工程做法,其中更改可以安全、频繁并且主要是自动发布到用户。

持续部署

导致自动部署对代码和配置的更改的软件工程做法。

持续交付需要在一个或多个阶段进行手动批准,而持续部署是自动进行的,无需手动批准。

控制器发布

并行部署生成的发布。控制器分发不用于部署到单个目标集群或服务;而是针对每个子目标都有一个子分发

另请参阅并行部署多目标

自定义目标

使用用户定义的自定义目标类型(而非受支持的目标类型)的目标。

声明式

系统(例如 Kubernetes 集群)的配置,描述预期状态并依赖该系统实现该状态。与命令式配置相对;在命令式配置中,您描述实现该状态的具体步骤。

除了渲染和部署声明式 Kubernetes 清单之外,Cloud Deploy 还使用声明式资源定义来定义渲染和交付流程。skaffold.yamlclouddeploy.yaml 是 Skaffold 定义和交付流水线定义的典型文件名。

交付流水线

部署进展中的每个目标交付应用的工作流的表示法。

Cloud Deploy 的文档使用“交付流水线”这一术语来区分您可能使用的其他流水线(例如 CI 流水线)。

在 Cloud Deploy 中,交付流水线在 YAML 配置文件(通常是 clouddeploy.yaml)中定义,该定义包含以下内容:

  • 部署目标
  • 这些目标中的提升序列

另请参阅流水线实例

部署钩子

您可以在部署前或部署后运行的任意操作了解详情

部署参数

可添加到清单中,但不会在呈现过程中解析的占位符。而是在每个特定于目标平台的清单呈现后为这些占位符分配值。了解详情

部署策略

一种技术,可用于安全地部署应用更改,同时最大限度地减少对用户的影响。

执行环境

一组用于运行 Cloud Deploy 的 Google Cloud 资源。它包含以下内容:

  • Cloud Deploy 在其中执行渲染和部署操作的默认或专用工作器池

  • 默认或备用执行环境服务账号,用于调用 Cloud Deploy 以执行渲染和部署

  • Cloud Storage 中已渲染清单的默认或备用存储位置。

融合

请参阅渲染

作业

对发布版本要执行的特定操作,例如部署或验证。 了解详情

作业运行

发布的子资源,作业运行是作业的实例。也就是说,它表示尝试执行部署或验证等作业。了解详情

清单

用于创建、修改和删除 Kubernetes 资源(例如 Pod、Deployment、Service 或 Ingress)的 Kubernetes 配置对象。

Cloud Deploy 中的清单以两种状态之一存在:已渲染或未渲染。未渲染的清单尚未准备好部署到目标中。渲染流程(包括将特定值填充到清单中)通常由 Helm、Kustomize 和 kpt 等工具执行。Cloud Deploy 使用 Skaffold 编排配置的渲染(skaffold render 命令)。

另请参阅渲染

多目标

配置或执行并行部署时,多目标是单个流水线阶段,但可以包含多个目标运行时。

另请参阅子目标并行部署控制器发布

并行部署

在同一交付流水线阶段将应用同时部署到多个目标平台的做法。例如,借助此方法,您可以部署到生产环境中的多个集群或服务。

阶段

发布中的一组操作(作业),这些操作在逻辑上会归为一组,例如部署或部署和验证。了解详情

流水线

请参阅交付流水线

流水线实例

创建 release 时截取的交付流水线的快照。Cloud Deploy 会保留此快照,以确保使用创建 release 时定义的流水线一致管理版本的所有部署。

如需了解详情,请参阅每个版本的流水线实例

流水线不匹配

当在创建版本后更改发布流水线或目标时,与 release 关联的流水线实例现在与流水线定义不同。

如果流水线不匹配,Cloud Deploy 会在提升版本或尝试回滚之前提示您检查定义。

如需了解详情,请参阅每个版本的流水线实例

进展

交付流水线配置文件中的配置,用于描述从一个目标到另一个目标的提升序列(例如从 teststagingprod)。

推广

根据交付流水线中定义的进展将版本从一个目标推进到另一个目标的过程。

注册

以交付流水线的形式向 Cloud Deploy 服务提供应用,以便应用的交付由该服务管理。

版本

一种 Cloud Deploy 资源,用于表示要部署的更改(代码和/或配置)。

Cloud Deploy 服务架构文档中介绍了版本生命周期。

渲染

准备清单以在目标中部署。渲染清单主要是为清单中的变量提供值。Cloud Deploy 使用 skaffold render 执行此操作。

发布

版本与部署目标关联的资源。rollout 按版本和目标创建,因此在交付流水线中针对三个目标的简单进展中,该版本将有三个 rollout 资源,每个目标对应一个。

对于更复杂的部署(例如使用 Canary 部署策略),rollout 可能会更复杂。了解详情

标准部署策略

标准部署策略是将应用部署到目标的默认方式。对于交付流水线中定义的每个阶段,系统都会将您的应用完全部署到目标,每次都替换之前部署的应用。

阶段

交付流水线中的一个目标或多个目标。例如,在包含以下阶段的简单提交流水线中:

  • dev
  • staging
  • prod

每个阶段都是一个阶段。

执行并行部署时,多目标是一个阶段,但子目标不是单独的阶段。

暂停(交付流水线)

阻止从给定交付流水线创建和推送版本。如需了解详情,请参阅暂停交付流水线

目标

要在其中部署应用的特定运行时环境(Kubernetes 集群、Cloud Run 服务或其他受支持的运行时)。此外,还包括该环境的配置。

您可以在交付流水线配置文件中定义目标,也可以在单独的文件中定义目标。

目标必须在与传送流水线相同的项目和区域中定义。但是,目标部署到的运行时可以位于不同的项目和区域。

目标还可以是多目标子目标,以支持并行部署

目标工件

用于在目标平台上呈现和部署应用的配置文件。这些文件包括 Kubernetes 清单或 Cloud Run 服务定义、Skaffold 配置文件以及用于创建这些文件的渲染源。

验证

能够通过运行任意容器并进行测试来确认部署是否成功。详细了解部署验证