安装
目录
安装 Alauda DevOps Pipelines使用 Web 控制台安装 Alauda DevOps Pipelines使用 CLI 安装 Alauda DevOps Pipelines卸载 Alauda DevOps Pipelines删除 Alauda DevOps Pipelines 资源实例卸载Alauda DevOps Pipelines Operator删除 Alauda DevOps Pipelines 资源定义(可选)自定义 TektonConfig 中的配置前提条件使用 TektonConfig CR 调优性能配置 Tekton Pipelines 控制平面功能标志选项更改默认 Service Account为安装命名空间设置 Labels 和 Annotations后续步骤安装 Alauda DevOps Pipelines
本指南为集群管理员提供了在 Kubernetes 集群上安装 Alauda DevOps Pipelines Operator 的步骤。
前提条件:
- 你已使用具有
cluster-admin权限的账户访问 Kubernetes 集群。 - 你已安装
kubectlCLI。 - 你的集群已启用 Marketplace 功能,或者可访问 Operator Hub。
使用 Web 控制台安装 Alauda DevOps Pipelines
你可以通过使用 Marketplace 或 OperatorHub 中列出的 Operators 来安装 Alauda DevOps Pipelines Operator。安装 Alauda DevOps Pipelines Operator 时,所需的 Custom Resources(CR)会与 Operator 一起自动安装。
该 Operator 提供以下 Custom Resource Definitions(CRD)用于管理 Tekton 组件:tektonconfigs.operator.tekton.dev、tektonpipelines.operator.tekton.dev、tektontriggers.operator.tekton.dev、tektonhubs.operator.tekton.dev 等。
如果 Tekton Pipelines 已经安装在你的集群中,现有安装将由 Operator 无缝升级。
Alauda DevOps Pipelines Operator 提供了通过在 TektonConfig Custom Resource(CR)中指定预设配置来选择要安装哪些组件的选项。安装 Operator 时会自动安装 TektonConfig CR。支持的预设包括:
- Lite:仅安装 Tekton Pipelines。
- Basic:安装 Tekton Pipelines 和 Tekton Triggers。
- All:这是安装
TektonConfigCR 时使用的默认预设。此预设会安装所有 Tekton 组件,包括 Tekton Pipelines、Tekton Triggers。
步骤
-
在 Web 控制台中,导航到 Marketplace 或 OperatorHub。
-
使用 Filter by keyword 框在目录中搜索
Alauda DevOps PipelinesOperator。单击Alauda DevOps PipelinesOperator 标题。 -
阅读
Alauda DevOps PipelinesOperator 页面上的 Operator 概述。单击 安装。 -
在 Install Operator 页面中:
- 对于 Installation Mode,选择 All namespaces on the cluster (default)。此模式会将 Operator 安装到默认的
tekton-operator命名空间中,使 Operator 能够在集群的所有命名空间中进行监视并可用。 - 对于 Approval Strategy,选择 Automatic。这可确保 Operator 的未来升级由 Operator Lifecycle Manager(OLM)自动处理。如果你选择
Manual审批策略,OLM 将创建更新请求。作为集群管理员,你必须手动批准 OLM 更新请求,才能将 Operator 升级到新版本。 - 如果有多个可用通道,请选择一个 Update Channel。
- 对于 Installation Mode,选择 All namespaces on the cluster (default)。此模式会将 Operator 安装到默认的
-
单击 安装。你将在 Installed Operators 页面上看到该 Operator。
-
验证 Status 是否为 Succeeded,以确认
Alauda DevOps PipelinesOperator 已成功安装。 -
验证
Alauda DevOps PipelinesOperator 的所有组件是否已成功安装。在终端中登录到集群并运行以下命令:示例输出
如果
READY条件为True,则表示 Operator 及其组件已成功安装。此外,运行以下命令检查各组件的版本:
示例输出
使用 CLI 安装 Alauda DevOps Pipelines
你可以使用命令行界面(CLI)从 OperatorHub 安装 Alauda DevOps Pipelines Operator。
通道快速参考
stable(默认,自v4.6.3起):安装最新的 LTS 版本。建议用于生产环境。latest:安装所有可用的v4.6.z版本。如果你之前依赖latest默认值,可以在 Subscription 中继续使用此值。pipelines-4.6:仅将升级锁定为v4.6.z补丁版本。
步骤
- 创建一个
Subscription对象 YAML 文件,以将某个命名空间订阅到Alauda DevOps PipelinesOperator,例如sub.yaml:
示例 Subscription YAML
- 从
v4.6.3起,stable是默认值,并安装最新的 LTS 版本。使用latest可保留v4.6.3之前的行为(每个v4.6.z版本),或使用pipelines-4.6仅保持在v4.6.z补丁更新上。 - 要订阅的 Operator 名称。
- 提供该 Operator 的
CatalogSource对象名称。 CatalogSource对象的命名空间。该值可能会因你的集群配置而异。
-
通过运行以下命令创建
Subscription对象:该订阅会在
tekton-operator命名空间中安装Alauda DevOps PipelinesOperator。该 Operator 会自动在默认目标命名空间tekton-pipelines中安装 Tekton 组件。
卸载 Alauda DevOps Pipelines
集群管理员可以通过执行以下步骤卸载 Alauda DevOps Pipelines Operator:
- 删除任何可选组件的 CR(如果存在),然后删除
TektonConfigCR。 - 卸载
Alauda DevOps PipelinesOperator。 - 如有需要,删除
operator.tekton.dev组的 Custom Resource Definitions(CRD)。
仅卸载 Operator 并不会删除在安装 Operator 时默认创建的 Alauda DevOps Pipelines 组件。
删除 Alauda DevOps Pipelines 资源实例
首先,删除 TektonConfig CR,以及任何其他 Tekton 组件 CR(如果存在)。
步骤
- 在 Web 控制台中,导航到 Administration → CustomResourceDefinitions 或相应部分。
- 搜索
TektonConfigCRD。 - 单击
TektonConfigCRD 以显示详细页面。 - 单击 Instances 选项卡。
- 如果显示了某个实例,单击该实例的
Options菜单。 - 选择 Delete。
- 单击 Delete 以确认删除该 CR。
- 删除
TektonConfig资源将级联删除自动创建的TektonPipelines、TektonTriggers、TektonHubs、TektonChains等组件。
- 删除
- 对可能存在的任何其他 Tekton 组件 CR 重复这些步骤。
- 如果你手动创建了
OpenShiftPipelinesAsCodes,则可能需要手动删除它。 - 对于仍具有独立
TektonResult资源的旧集群,请在卸载前手动删除它。
- 如果你手动创建了
卸载 Alauda DevOps Pipelines Operator
你可以使用 Web 控制台卸载 Alauda DevOps Pipelines Operator。
步骤
- 从 Marketplace 或 OperatorHub 页面,导航到 Installed Operators。
- 在列表中找到
Alauda DevOps PipelinesOperator。 - 单击 Options 菜单并选择 Uninstall Operator。
- 在 Uninstall Operator? 窗口中,选择 Delete all operand instances for this operator,然后单击 Uninstall。
删除 Alauda DevOps Pipelines 资源定义(可选)
如果你希望完全移除 Tekton Operator 的所有痕迹,可以删除 operator.tekton.dev 组的 Custom Resource Definitions(CRD)。
步骤
- 在 Web 控制台中,导航到 Administration → CustomResourceDefinitions 或相应部分。
- 搜索包含关键字
operator.tekton.dev的 CRD。 - 对于要删除的每个 CRD:
- 单击 Options 菜单。
- 选择 Delete CustomResourceDefinition。
- 单击 Delete 以确认删除该 CRD。
自定义 TektonConfig 中的配置
在 Alauda DevOps Pipelines 中,你可以使用 TektonConfig Custom Resource(CR)自定义以下配置:
- 优化 Tekton Pipelines 性能,包括 Tekton Pipelines controller 的高可用模式
- 配置 Tekton Pipelines 控制平面
- 更改默认 service account
- 配置 pipeline resolver
- 禁用特定功能或组件
前提条件
必须已安装 Alauda DevOps Pipelines Operator。
使用 TektonConfig CR 调优性能
你可以修改 TektonConfig Custom Resource(CR)中的 .spec.pipeline.performance 参数下的字段,以更改 Tekton Pipelines controller 的高可用(HA)支持和性能配置。
TektonConfig 性能字段示例
所有字段都是可选的。设置后,Alauda DevOps Pipelines Operator 会将大多数字段作为参数包含在 tekton-pipelines-controller deployment 的 tekton-pipelines-controller 容器中。Operator 还会更新 tekton-pipelines 命名空间下 config-leader-election ConfigMap 中的 bucket 字段。
如果未指定任何值,Operator 不会更新这些字段,而是应用 Tekton Pipelines controller 的默认值。
如果你修改或移除任何性能字段,Operator 将更新 tekton-pipelines-controller deployment 和 config-leader-election ConfigMap(如果 bucket 字段已更改),并重新创建 tekton-pipelines-controller pod。
高可用(HA)模式适用于 Tekton Pipelines controller;它会根据 pipeline run 和 task run 定义创建并启动 pod。若没有 HA 模式,则由单个 pod 执行这些操作,这可能导致高负载和显著延迟。
在 HA 模式下,Tekton Pipelines 使用多个 pod(副本)来执行这些操作。最初,Tekton Pipelines 会将每个 controller 操作分配到各个 bucket 中。每个副本从一个或多个 bucket 中选择操作。如果两个副本可以同时选择同一操作,controller 会在内部决定由谁来执行该操作。
HA 模式不会影响 pod 创建后运行的任务。
配置 Tekton Pipelines 控制平面
你可以通过编辑 TektonConfig Custom Resource(CR)中的配置字段来自定义 Tekton Pipelines 控制平面。Alauda DevOps Pipelines Operator 会自动为配置字段包含默认值,因此你可以使用 Tekton Pipelines 控制平面。
流程
- 在 Web 控制台中,导航到 CustomResourceDefinitions 部分。
- 搜索
tektonconfigs.operator.tekton.devCustom Resource Definition(CRD)。 - 单击 TektonConfig 以查看 CRD 详细页面。
- 单击 Instances 选项卡。
- 单击 config 实例以查看
TektonConfigCR 的详细信息。 - 单击 YAML 选项卡。
- 根据你的需求编辑
TektonConfigYAML 文件。
具有默认值的 TektonConfig CR 示例
功能标志选项
可以在 TektonConfig CR 中配置以下功能标志,以控制 Tekton Pipelines 的不同行为:
disable-affinity-assistant(默认值:false)disable-creds-init(默认值:false)enable-api-fields(默认值:stable)enable-custom-tasks(默认值:true)await-sidecar-readiness(默认值:true)running-in-environment-with-injected-sidecars(默认值:true)require-git-ssh-secret-known-hosts(默认值:false)enable-provenance-in-status(默认值:true)
有关每个选项的详细说明,请参阅 Tekton Operator 文档。
更改默认 Service Account
你可以通过编辑 .spec.pipeline 规范中的 default-service-account 字段来更改 Tekton Pipelines 的默认 service account。默认 service account 名称为 pipeline。
示例
为安装命名空间设置 Labels 和 Annotations
你可以为 Operator 安装 Tekton Pipelines 组件的 tekton-pipelines 命名空间设置 labels 和 annotations。
通过将它们添加到 TektonConfig Custom Resource(CR)的 .spec.targetNamespaceMetadata 规范中来指定 labels 和 annotations。
为 tekton-pipelines 命名空间设置 Labels 和 Annotations 的示例
后续步骤
成功安装 Alauda DevOps Pipelines Operator 后: