安装
目录
安装 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 Control Plane功能标志选项更改默认 Service Account为安装命名空间设置标签和注解下一步安装 Alauda DevOps Pipelines
本指南介绍了集群管理员如何在 Kubernetes 集群上安装 Alauda DevOps Pipelines Operator。
先决条件
-
你需要使用具有
cluster-admin权限的账户访问 Kubernetes 集群。 -
你已经安装了
kubectlCLI。 -
你的集群已启用 Marketplace 功能,或者可访问 OperatorHub。
-
将 Operator 软件包下载并保存到操作机器上的工作目录中。
-
下载 Operator
INFO可以从 Alauda Cloud 获取 Alauda DevOps Pipelines。
如需更多信息,请联系 Consumer Support。
-
上传 Operator
无论是导入新的 operator 还是为现有 operator 添加新版本,你都可以使用
violet工具来完成该任务,且命令相同。在工作目录中执行以下命令:
- 运行
violet工具将 operator 软件包上传到平台。 <operator-package>:operator 软件包名称(示例:tektoncd-operator.latest.amd64.v4.7.0.tgz)。<platform-address>:平台的 URL 地址(示例:https://platform.example.com)。<platform-username>:平台用户名,需要具备 Platform Administrator 权限。<platform-password>:平台密码。<clusters>:需要上传 operator 的集群列表,使用逗号分隔(示例:global, business)。--force:强制覆盖 registry 中现有的镜像和制品。
WARNING如果你正在上传新版本以更新现有的
tektoncd-operator,则在使用 violet 上传Operator时必须使用--force参数,以覆盖 registry 中现有的镜像和制品。然后进入平台的
Platform Management->Marketplace->Upload Packages页面, 搜索 operator 关键字,然后单击 operator 名称进入 operator 详情页面。详情页面将显示 operator 的新版本。 如果状态为
Uploaded,则表示上传成功。 - 运行
-
使用 Web 控制台安装 Alauda DevOps Pipelines
你可以通过 Marketplace 或 OperatorHub 中列出的 Operators 安装 Alauda DevOps Pipelines Operator。安装 Alauda DevOps Pipelines Operator 时,所需的 Custom Resources(CRs)会与 Operator 一起自动安装。
该 Operator 提供以下 Custom Resource Definitions(CRDs)用于管理 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。
从 v4.14.0 开始,不再随附内置的 Tekton Hub,也不能通过任何预设进行部署。Tekton catalog 制品现在由平台的独立 ArtifactHub 组件提供。有关 catalog 发布和使用,请参阅 ArtifactHub Shim 目录。
Channel 快速参考
stable(默认):安装最新的 LTS 版本。推荐用于生产环境。latest:安装最新可用版本,包括非 LTS 版本。推荐用于开发和测试环境。pipelines-4.14:仅将升级锁定到v4.14.z补丁版本。每个 LTS 版本都会发布一个pipelines-x.ychannel,因此上一条 LTS 分支仍可使用pipelines-4.10。
步骤
-
在 Web 控制台中,导航到 Marketplace 或 OperatorHub。
-
使用 Filter by keyword 搜索框在目录中查找
Alauda DevOps PipelinesOperator。单击Alauda DevOps PipelinesOperator 标题。 -
阅读
Alauda DevOps PipelinesOperator 页面上的 Operator 概览。单击 Install。 -
在 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 升级到新版本。 - 如果有多个 channel 可用,请选择一个 Update Channel。
- 对于 Installation Mode,选择 All namespaces on the cluster (default)。此模式会将 Operator 安装到默认的
-
单击 Install。你将在 Installed Operators 页面上看到该 Operator。
-
确认 Status 设置为 Succeeded,以验证
Alauda DevOps PipelinesOperator 已成功安装。 -
验证
Alauda DevOps PipelinesOperator 的所有组件均已成功安装。登录到终端中的集群并运行以下命令:示例输出
如果
READY条件为True,则表示 Operator 及其组件已成功安装。此外,可通过运行以下命令检查各组件的版本:
示例输出
内置的
Tekton Hub不属于此版本,因此没有tektonhub资源可供检查。
使用 CLI 安装 Alauda DevOps Pipelines
你可以使用命令行界面(CLI)从 OperatorHub 安装 Alauda DevOps Pipelines Operator。
步骤
- 创建一个
Subscription对象 YAML 文件,用于将某个命名空间订阅到Alauda DevOps PipelinesOperator,例如sub.yaml:
示例 Subscription YAML
- 你要订阅的 channel 名称。
stable为默认值,并安装最新的 LTS 版本。使用latest可接收每个发布版本,或使用pipelines-4.14以保持在v4.14.z补丁更新。 - 要订阅的 Operator 名称。
- 提供该 Operator 的
CatalogSource对象名称。 CatalogSource对象所在的命名空间。该值可能因集群配置而异。
-
运行以下命令创建
Subscription对象:该订阅会将
Alauda DevOps PipelinesOperator 安装到tekton-operator命名空间中。Operator 会自动在默认目标命名空间tekton-pipelines中安装 Tekton 组件。
卸载 Alauda DevOps Pipelines
集群管理员可以通过执行以下步骤卸载 Alauda DevOps Pipelines Operator:
- 如果存在任何可选组件 CR,先将其删除,然后删除
TektonConfigCR。 - 卸载
Alauda DevOps PipelinesOperator。 - 如有需要,删除
operator.tekton.dev组的 Custom Resource Definitions(CRDs)。
仅卸载 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 重复以上步骤。
- 如果你手动创建了
TektonResults或OpenShiftPipelinesAsCodes,可能需要手动删除它们。
- 如果你手动创建了
卸载 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(CRDs)。
步骤
- 在 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 control plane
- 更改默认 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(replicas)来执行这些操作。最初,Tekton Pipelines 会在各个 bucket 之间分配每个 controller 操作。每个 replica 从一个或多个 bucket 中选择操作。如果两个 replica 可以同时选择同一操作,controller 会在内部决定由谁来执行该操作。
HA 模式不会影响 pod 创建后运行的任务。
配置 Tekton Pipelines Control Plane
你可以通过编辑 TektonConfig Custom Resource(CR)中的配置字段来自定义 Tekton Pipelines control plane。Alauda DevOps Pipelines Operator 会自动为配置字段包含默认值,因此你可以使用 Tekton Pipelines control plane。
流程
- 在 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。
示例
为安装命名空间设置标签和注解
你可以为 Operator 安装 Tekton Pipelines 组件的 tekton-pipelines 命名空间设置标签和注解。
通过在 TektonConfig Custom Resource(CR)的 .spec.targetNamespaceMetadata 规范中添加这些内容来指定标签和注解。
为 tekton-pipelines 命名空间设置标签和注解的示例
下一步
成功安装 Alauda DevOps Pipelines Operator 后: