安装
目录
安装 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 时,所需的自定义资源(CR)会随 Operator 一起自动安装。
该 Operator 提供以下用于管理 Tekton 组件的自定义资源定义(CRDs):tektonconfigs.operator.tekton.dev、tektonpipelines.operator.tekton.dev、tektontriggers.operator.tekton.dev、tektonhubs.operator.tekton.dev 等。
如果集群中已安装 Tekton Pipelines,Operator 会无缝升级现有安装。
Alauda DevOps Pipelines Operator 允许通过在 TektonConfig 自定义资源(CR)中指定预设配置来选择安装哪些组件。TektonConfig CR 会在安装 Operator 时自动创建。支持的预设包括:
- Lite:仅安装 Tekton Pipelines。
- Basic:安装 Tekton Pipelines 和 Tekton Triggers。
- All:这是安装
TektonConfigCR 时使用的默认预设,安装所有 Tekton 组件,包括 Tekton Pipelines、Tekton Triggers。
步骤
-
在 Web 控制台中,导航至 Marketplace 或 OperatorHub。
-
使用 按关键字过滤 框搜索目录中的
Alauda DevOps PipelinesOperator。点击Alauda DevOps PipelinesOperator 标题。 -
阅读
Alauda DevOps PipelinesOperator 页面上的 Operator 概述。点击 安装。 -
在 安装 Operator 页面:
- 对于 安装模式,选择 集群中的所有命名空间(默认)。此模式将在默认的
tekton-operator命名空间中安装 Operator,使 Operator 能够监控并在集群所有命名空间中可用。 - 对于 审批策略,选择 自动。这确保 Operator 生命周期管理器(OLM)自动处理 Operator 的后续升级。如果选择
手动审批策略,OLM 会创建更新请求,集群管理员必须手动批准这些请求以升级 Operator。 - 如果有多个通道,选择一个 更新通道。
- 对于 安装模式,选择 集群中的所有命名空间(默认)。此模式将在默认的
-
点击 安装。您将在已安装的 Operators 页面看到该 Operator。
-
确认 状态 显示为 Succeeded,以确认
Alauda DevOps PipelinesOperator 已成功安装。 -
验证
Alauda DevOps PipelinesOperator 的所有组件是否已成功安装。登录集群终端,运行以下命令:示例输出
如果
READY状态为True,表示 Operator 及其组件已成功安装。另外,通过运行以下命令检查组件版本:
示例输出
使用 CLI 安装 Alauda DevOps Pipelines
您可以通过命令行界面(CLI)从 OperatorHub 安装 Alauda DevOps Pipelines Operator。
步骤
- 创建一个
Subscription对象的 YAML 文件,用于订阅命名空间中的Alauda DevOps PipelinesOperator,例如sub.yaml:
示例 Subscription YAML
- 您想订阅的通道名称。
latest通道允许安装Alauda DevOps PipelinesOperator 的最新稳定版本。 - 要订阅的 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组的自定义资源定义(CRDs)。
仅卸载 Operator 不会移除安装 Operator 时默认创建的 Alauda DevOps Pipelines 组件。
删除 Alauda DevOps Pipelines 资源实例
首先删除 TektonConfig CR 以及其他存在的 Tekton 组件 CR。
步骤
- 在 Web 控制台中,导航至 管理 → CustomResourceDefinitions 或等效部分。
- 搜索
TektonConfigCRD。 - 点击
TektonConfigCRD 进入详细页面。 - 点击 实例 标签页。
- 如果显示实例,点击该实例的
选项菜单。 - 选择 删除。
- 点击 删除 确认删除 CR。
- 删除
TektonConfig资源会级联删除自动创建的TektonPipelines、TektonTriggers、TektonHubs、TektonChains等组件。
- 删除
- 对其他可能存在的 Tekton 组件 CR 重复上述步骤。
- 如果您手动创建了
TektonResults或OpenShiftPipelinesAsCodes,可能需要手动删除。
- 如果您手动创建了
卸载 Alauda DevOps Pipelines Operator
您可以通过 Web 控制台卸载 Alauda DevOps Pipelines Operator。
步骤
- 在 Marketplace 或 OperatorHub 页面,导航至 已安装的 Operators。
- 在列表中找到
Alauda DevOps PipelinesOperator。 - 点击 选项 菜单,选择 卸载 Operator。
- 在 卸载 Operator? 窗口中,选择 删除该 Operator 的所有操作实例,然后点击 卸载。
删除 Alauda DevOps Pipelines 资源定义(可选)
如果您想彻底移除 Tekton Operator 的所有痕迹,可以删除 operator.tekton.dev 组的自定义资源定义(CRDs)。
步骤
- 在 Web 控制台中,导航至 管理 → CustomResourceDefinitions 或等效部分。
- 搜索包含关键字
operator.tekton.dev的 CRDs。 - 对每个想删除的 CRD:
- 点击 选项 菜单。
- 选择 删除 CustomResourceDefinition。
- 点击 删除 确认删除 CRD。
在 TektonConfig 中自定义配置
在 Alauda DevOps Pipelines 中,您可以通过 TektonConfig 自定义资源(CR)自定义以下配置:
- 优化 Tekton Pipelines 性能,包括 Tekton Pipelines 控制器的高可用模式
- 配置 Tekton Pipelines 控制平面
- 更改默认服务账号
- 配置流水线解析器
- 禁用特定功能或组件
先决条件
必须已安装 Alauda DevOps Pipelines Operator。
使用 TektonConfig CR 调优性能
您可以修改 TektonConfig 自定义资源(CR)中 .spec.pipeline.performance 参数下的字段,以更改 Tekton Pipelines 控制器的高可用(HA)支持和性能配置。
TektonConfig 性能字段示例
所有字段均为可选。设置后,Alauda DevOps Pipelines Operator 会将大多数字段作为参数包含在 tekton-pipelines-controller 部署的 tekton-pipelines-controller 容器中。Operator 还会更新 tekton-pipelines 命名空间下 config-leader-election ConfigMap 中的 bucket 字段。
如果未指定值,Operator 不会更新这些字段,且应用 Tekton Pipelines 控制器的默认值。
如果您修改或删除任何性能字段,Operator 会更新 tekton-pipelines-controller 部署和 config-leader-election ConfigMap(如果 bucket 字段发生变化),并重新创建 tekton-pipelines-controller pod。
高可用(HA)模式适用于 Tekton Pipelines 控制器;它基于流水线运行和任务运行定义创建并启动 pod。无 HA 模式时,单个 pod 执行这些操作,可能导致高负载和显著延迟。
在 HA 模式下,Tekton Pipelines 使用多个 pod(副本)执行这些操作。初始时,Tekton Pipelines 将每个控制器操作分配到不同的桶中。每个副本从一个或多个桶中选择操作。如果两个副本可能同时选择同一操作,控制器内部会决定由谁执行该操作。
HA 模式不影响 pod 创建后运行的任务。
配置 Tekton Pipelines 控制平面
您可以通过编辑 TektonConfig 自定义资源(CR)中的配置字段来自定义 Tekton Pipelines 控制平面。Alauda DevOps Pipelines Operator 会自动包含配置字段的默认值,方便您使用 Tekton Pipelines 控制平面。
流程
- 在 Web 控制台中,导航至 CustomResourceDefinitions 部分。
- 搜索
tektonconfigs.operator.tekton.dev自定义资源定义(CRD)。 - 点击 TektonConfig 查看 CRD 详情页。
- 点击 实例 标签页。
- 点击名为 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 文档。
更改默认服务账号
您可以通过编辑 .spec.pipeline 规范中的 default-service-account 字段更改 Tekton Pipelines 的默认服务账号。默认服务账号名称为 pipeline。
示例
为安装命名空间设置标签和注解
您可以为 Operator 安装 Tekton Pipelines 组件的 tekton-pipelines 命名空间设置标签和注解。
通过在 TektonConfig 自定义资源(CR)的 .spec.targetNamespaceMetadata 规范中添加标签和注解来指定。
为 tekton-pipelines 命名空间设置标签和注解示例
后续步骤
成功安装 Alauda DevOps Pipelines Operator 后: