本指南为集群管理员提供在 Kubernetes 集群上安装 Alauda DevOps Pipelines
Operator 的流程。
先决条件:
cluster-admin
权限的 Kubernetes 集群访问账号。kubectl
CLI。您可以通过 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 时自动创建。支持的预设包括:
TektonConfig
CR 时使用的默认预设,安装所有 Tekton 组件,包括 Tekton Pipelines、Tekton Triggers。步骤
在 Web 控制台中,导航至 Marketplace 或 OperatorHub。
使用 按关键字过滤 框搜索目录中的 Alauda DevOps Pipelines
Operator。点击 Alauda DevOps Pipelines
Operator 标题。
阅读 Alauda DevOps Pipelines
Operator 页面上的 Operator 概述。点击 安装。
在 安装 Operator 页面:
tekton-operator
命名空间中安装 Operator,使 Operator 能够监控并在集群所有命名空间中可用。手动
审批策略,OLM 会创建更新请求,集群管理员必须手动批准这些请求以升级 Operator。点击 安装。您将在已安装的 Operators 页面看到该 Operator。
确认 状态 显示为 Succeeded,以确认 Alauda DevOps Pipelines
Operator 已成功安装。
验证 Alauda DevOps Pipelines
Operator 的所有组件是否已成功安装。登录集群终端,运行以下命令:
示例输出
如果 READY
状态为 True
,表示 Operator 及其组件已成功安装。
另外,通过运行以下命令检查组件版本:
示例输出
您可以通过命令行界面(CLI)从 OperatorHub 安装 Alauda DevOps Pipelines
Operator。
步骤
Subscription
对象的 YAML 文件,用于订阅命名空间中的 Alauda DevOps Pipelines
Operator,例如 sub.yaml
:示例 Subscription
YAML
latest
通道允许安装 Alauda DevOps Pipelines
Operator 的最新稳定版本。CatalogSource
对象名称。CatalogSource
对象所在的命名空间,可能因集群配置而异。运行以下命令创建 Subscription
对象:
该订阅将在 tekton-operator
命名空间安装 Alauda DevOps Pipelines
Operator。Operator 会自动在默认目标命名空间 tekton-pipelines
中安装 Tekton 组件。
集群管理员可以通过以下步骤卸载 Alauda DevOps Pipelines
Operator:
TektonConfig
CR。Alauda DevOps Pipelines
Operator。operator.tekton.dev
组的自定义资源定义(CRDs)。仅卸载 Operator 不会移除安装 Operator 时默认创建的 Alauda DevOps Pipelines 组件。
首先删除 TektonConfig
CR 以及其他存在的 Tekton 组件 CR。
步骤
TektonConfig
CRD。TektonConfig
CRD 进入详细页面。选项
菜单。TektonConfig
资源会级联删除自动创建的 TektonPipelines
、TektonTriggers
、TektonHubs
、TektonChains
等组件。TektonResults
或 OpenShiftPipelinesAsCodes
,可能需要手动删除。Alauda DevOps Pipelines
Operator您可以通过 Web 控制台卸载 Alauda DevOps Pipelines
Operator。
步骤
Alauda DevOps Pipelines
Operator。如果您想彻底移除 Tekton Operator 的所有痕迹,可以删除 operator.tekton.dev
组的自定义资源定义(CRDs)。
步骤
operator.tekton.dev
的 CRDs。在 Alauda DevOps Pipelines 中,您可以通过 TektonConfig
自定义资源(CR)自定义以下配置:
必须已安装 Alauda DevOps Pipelines
Operator。
您可以修改 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 创建后运行的任务。
名称 | 说明 |
---|---|
disable-ha | 启用或禁用高可用(HA)模式。默认启用 HA 模式。 |
buckets | HA 模式下用于处理控制器操作的桶数量。最大值为 10。 |
replicas | HA 模式下用于处理控制器操作的 pod 数量。该值应设置为与桶数量相同或更小。 |
threads-per-controller | 处理 Tekton Pipelines 控制器工作队列时使用的线程(工作线程)数量。 |
kube-api-qps | REST 客户端向主节点的最大每秒查询数(QPS)。 |
kube-api-burst | 限流的最大突发请求数。 |
statefulset-ordinals | 为 Tekton Pipelines 控制器启用 StatefulSet Ordinals 模式。 |
您可以通过编辑 TektonConfig
自定义资源(CR)中的配置字段来自定义 Tekton Pipelines 控制平面。Alauda DevOps Pipelines
Operator 会自动包含配置字段的默认值,方便您使用 Tekton Pipelines 控制平面。
流程
tektonconfigs.operator.tekton.dev
自定义资源定义(CRD)。TektonConfig
CR 详情。TektonConfig
YAML 文件。带默认值的 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 后: