介绍
目录
概述关键组件Alauda Container Platform Pipelines OperatorTekton PipelinesTekton TriggersTekton ChainsTekton Results优势用例限制概述
Tekton 是一个功能强大且灵活的开源框架,用于创建 CI/CD 系统,使开发者能够跨云服务提供商和本地部署系统进行构建、测试和部署。作为 Linux Foundation 项目 CD Foundation 的一部分,Tekton 提供了一组 Kubernetes 自定义资源,作为创建云原生 CI/CD 流水线的构建模块。
Alauda Container Platform Pipelines Operator 提供了一种简化的方式,用于在 Kubernetes 集群上安装、升级和管理 Tekton 组件的生命周期。它通过安装和管理 Tekton Pipelines 及其相关组件来扩展 Kubernetes 的功能,从而更轻松地设置和维护稳健的 CI/CD 环境。
关键组件
Alauda Container Platform Pipelines Operator
Alauda Container Platform Pipelines Operator 是一个管理 Tekton 组件生命周期的 Kubernetes operator。它提供:
- 简化 Tekton 组件的安装和管理
- 自动升级和配置管理
- 在集群范围内集中控制 Tekton 资源
- 用于管理 Tekton 组件的自定义资源定义(CRD)
Tekton Pipelines
Tekton Pipelines 是提供创建 CI/CD 工作流基础构建模块的核心组件。其中包括:
- Tasks:执行特定操作的最小原子工作单元
- Pipelines:按照特定执行顺序排列的一组任务
- TaskRuns:任务的执行及其状态
- PipelineRuns:流水线的执行及其状态
- Workspaces:用于在任务之间共享数据的机制
Tekton Pipelines 支持将复杂工作流定义为代码,使其能够进行版本控制、重复使用,并可移植到不同环境中。
Tekton Triggers
Tekton Triggers 为 Tekton Pipelines 扩展了基于事件的功能,使你能够:
- 监听外部事件(来自 Git 仓库、容器注册表等的 Webhook)
- 从这些事件中提取信息
- 根据事件数据创建 PipelineRuns 或 TaskRuns
- 将事件数据传递给创建的 PipelineRuns 或 TaskRuns
这使得 CI/CD 工作流能够实现完全自动化,并响应代码提交、拉取请求或镜像推送等事件。
Tekton Chains
Tekton Chains 专注于通过以下方式保障供应链安全:
- 自动捕获并签署所有 TaskRuns 的来源信息
- 支持多种签名格式和存储后端
- 以 in-toto 等行业标准格式提供证明
- 保障从源代码到部署的软件供应链安全
Chains 会监视 TaskRun 的执行,在其完成时创建快照,将其转换为标准载荷格式,对其进行签名,并安全地存储。
Tekton Results
Tekton Results 通过以下方式解决 CI/CD 执行数据的长期存储和查询难题:
- 将结果存储与 Pipeline controller 分离
- 提供用于访问历史流水线数据的可查询 API
- 支持为 CI/CD 工作流添加自定义元数据
- 将相关工作负载归组在一起
- 存储 TaskRuns 和 PipelineRuns 的日志
- 允许清理已完成的运行,从而释放集群资源
优势
- Kubernetes 原生:专为 Kubernetes 构建,充分利用其扩展和管理能力
- 声明式:使用 YAML 将流水线定义为代码,从而实现版本控制和自动化
- 模块化:通过可复用组件组合复杂工作流
- 可扩展:创建自定义任务,或使用 Tekton Hub 中由 Community 贡献的任务
- 厂商中立:可在不同的云提供商和环境中运行
- 安全:通过 Tekton Chains 提供内置安全功能,保障供应链安全
用例
- 持续集成:自动构建和测试代码变更
- 持续交付:自动将应用交付到各种环境
- GitOps 工作流:为应用和基础设施部署实施 GitOps 实践
- 安全软件供应链:确保软件从源代码到部署过程的完整性和安全性
- 多云部署:在不同的云提供商之间创建一致的 CI/CD 流水线
限制
- 学习曲线:需要理解 Kubernetes 的概念和资源
- 资源要求:运行流水线需要充足的集群资源
- 简单工作流的复杂性:对于非常简单的 CI/CD 需求而言,可能过于复杂
- 初始设置:需要正确配置和设置多个组件
Alauda Container Platform Pipelines Operator 通过为 Kubernetes 集群上的 Tekton 提供集成式托管体验,简化了其中许多挑战。
Tekton™ 是 The Linux Foundation 的商标。
Red Hat® 和 OpenShift® 是 Red Hat, Inc. 在美国及其他国家/地区的注册商标。
Alauda 是独立厂商。本产品与 The Linux Foundation 或 Red Hat, Inc. 不存在关联,也未获得其认可或赞助。所有商标均归其各自所有者所有,本文使用这些商标仅用于标识目的。