本文档中的术语根据它们在 Cloud Deploy 中的使用方式来定义。
无满意答案
应用
您将使用 Cloud Deploy 部署的软件。
应用交付
交付将应用部署到意向目标环境所需的资源。在 Cloud Deploy 中,应用交付包括生成和升级应用的 Kubernetes 清单并将其交付到集群中。
工件
要部署的容器映像(构建工件)以及用于部署的配置文件(例如清单和 Skaffold 配置)(目标工件)。
自动化
通过自动化功能,您可以配置交付流水线和目标,以便可以对该流水线的版本和发布执行某些操作,而无需人工干预。例如,您可以设置交付流水线,以便在适当的情况下自动提升到特定目标。了解详情。
自动化操作规则
自动化操作的行为部分由自动化规则定义。自动化规则用于定义自动化操作,例如推广版本。
使用自动化规则文档列出了可用的自动化规则。
自动化运行
自动化操作的实例。
Canary 部署
一种部署策略,在这种策略中,您首先将更改发布给一部分用户,对其进行测试以确保可靠性,然后再全面发布更改。
子发布
另请参阅控制器发布。
子定位条件
对于并行部署,这是一个目标,表示要同时部署到的多个 GKE、GKE Enterprise 或 Cloud Run 各个目标。
持续交付
一种软件工程做法,其中更改可以安全、频繁并且主要是自动发布到用户。
持续部署
导致自动部署对代码和配置的更改的软件工程做法。
持续交付需要在一个或多个阶段进行手动批准,而持续部署是自动进行的,无需手动批准。
控制器发布
为并行部署生成的发布。控制器发布不用于部署到单个目标集群或服务;而是针对每个子目标设置一个子发布。
自定义目标
使用用户定义的自定义目标类型而不是某个受支持的目标类型的目标。
声明式
系统(例如 Kubernetes 集群)的配置,描述预期状态并依赖该系统实现该状态。与命令式配置相对;在命令式配置中,您描述实现该状态的具体步骤。
除了渲染和部署声明性 Kubernetes 清单之外,Cloud Deploy 还使用声明性资源定义来定义渲染和交付流程。skaffold.yaml
和 clouddeploy.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 会在提升版本或尝试回滚之前提示您检查定义。
如需了解详情,请参阅每个版本的流水线实例。
进展
交付流水线配置文件中的一项配置,用于描述从一个目标到另一个目标的提升序列,例如从 test
到 staging
再到 prod
。
推广
根据交付流水线中定义的进展将版本从一个目标推进到另一个目标的过程。
注册
以交付流水线的形式向 Cloud Deploy 服务提供应用,以便应用的交付由该服务管理。
发布版本
Cloud Deploy 资源,表示要部署的更改(代码和/或配置)。
Cloud Deploy 服务架构文档介绍了发布生命周期。
渲染
准备清单以在目标中部署。渲染清单主要是为清单中的变量提供值。Cloud Deploy 使用 skaffold render
执行此操作。
发布
将版本与部署目标关联的资源。系统会为每个目标的每个版本分别创建一个 rollout
,因此在交付流水线中跨三个目标的简单进程中,该版本将有三个 rollout
资源,每个目标对应一个。
对于更复杂的部署,例如使用 Canary 部署策略,rollout
可能会复杂一些。了解详情。
标准部署策略
标准部署策略是将应用部署到目标的默认方式。对于交付流水线中定义的每个阶段,您的应用都会完全部署到目标,每次都替换先前部署的应用。
阶段
交付流水线中的一个目标或多目标。例如,在具有以下阶段的简单交付流水线中:
dev
staging
prod
每个阶段都是一个阶段。
执行并行部署时,multi-target是单个阶段,但子目标不是单独的阶段。
暂停(交付流水线)
防止创建和提升给定交付流水线中的版本。如需了解详情,请参阅暂停交付流水线
目标
要在其中部署应用的特定运行时环境(Kubernetes 集群、Cloud Run 服务或其他受支持的运行时)。以及该环境的配置。
您可以在交付流水线配置文件中定义目标,也可以在单独的文件中定义目标。
目标也可以是multi-target或子目标,以支持并行部署。
目标工件
用于在目标上渲染和部署应用的配置文件。其中包括 Kubernetes 清单或 Cloud Run 服务定义、Skaffold 配置文件以及用于创建这些内容的渲染来源。
验证
能够通过运行任意容器以及运行测试来确认部署是否成功。详细了解部署验证。