Tekton是Kubernetes原生的持续集成和交付(CI/CD)解决方案之一。它允许开发人员在混合云或私有云中进行构建、测试和部署
Tekton官方提供了较多的交互式教程,便于开发者直接实践应用此工具。想快速上手可以点击: https://tekton.dev/try
前提条件:
Kubernetes群集版本1.15或更高版本建议使用Tekton Pipeline v0.11.0或更高版本对于Kubernetes群集版本低于1.15,建议进行升级,否则Tekton存在兼容性问题且官方也不太容易进行维护处理在群集中启用基于角色的访问控制(RBAC)授予当前用户群集管理员权限。 注: 如果您使用的是Google Kubernetes Engine(GKE),请参阅Kubernetes Engine QuickStart获取设置Kubernetes集群的说明默认情况下,GKE群集启用了RBAC,并且默认支持持久卷(PV),需要授予当前用户所需的权限,请运行以下命令,其他K8S环境则参考其安装手册: ``` kubectl create clusterrolebinding cluster-admin-binding \-clusterrole=cluster-admin \-user=$(gcloud config get-value core/account)安装:
Tekton Pipelines是Tekton的核心组件,仅需在k8s集群中执行以下命令,即可完成安装<code>kubectl apply --filename https:/<code>安装需要一些时间,为保障服务正常使用,请确保tekton-pipelines相关组件均处于running状态,可使用如下命令查询组件状态
<code>kubectl
get
pods --namespace
tekton-pipelines/<code>持久卷(Persistent volumes)
运行CI/CD pinelines,需要为Tekton提供永久卷存储。默认情况下,Tekton需要5G的存储空间。需要注意的是, Tekton的性能会受的存储类影响注: 可使用如下命令检查存储状态是否可用
<code>kubectl
get
pv kubectlget
storageclasses/<code>可以通过修改Tekton使用的 ConfigMap 来定义其存储设置.如果需要修改PV大小或者PV使用的存储卷类型,则需要修改config-artifact-pvc 中的以下两个选项 size: 数据卷大小: 比如10Gi storageClassName: 存储卷的类型 假设需要10Gi的存储空间、指定使用 manal的存储类,则ConfigMap需要做如下修改kubectl create configmap config-artifact-pvc \ --from-literal=size=10Gi \ --from-literal=storageClassName=manual \ -o yaml -n tekton-pipelines | kubectl replace -f -此外,除非另有配置,否则Tekton将使用Kubernetes集群中的默认服务帐户;如果您希望覆盖此选项,请更新ConfigMap config-default的default-service-account属性:kubectl create configmap config-defaults \ --from-literal=default-service-account=YOUR-SERVICE-ACCOUNT \ -o yaml -n tekton-pipelines | kubectl replace -f -