《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.10环境中验证
Tekton 简介
Tekton,最初被称为Knative Build,但作为自己的开源项目分离出来,有自己的管理组织。Tekton试图填补集群内容器镜像构建和部署工作流程的空白,即持续集成(CI)和持续交付(CD)。Tekton的理念围绕三个方面展开:
容器
Tekton的座右铭是Kubernetes原生。容器是任何Kubernetes集群的核心,Tekton为容器化应用程序的构建、测试和部署进行了优化。此外,Tekton的要素(如任务和管道)是作为自定义资源定义实现的,你的管道是一个简单的YAML资源文件。
无服务器
如前所述,Tekton最初是Knative的一部分,以前被称为Knative Build。Knative Build后来被废弃了,资源被整合到Tekton项目上工作。作为Knative的后代,Tekton有一些有趣的DNA,因为它作为无服务器CI/CD解决方案运行,不需要任何需要持续管理和维护的中央服务/引擎。Tekton的 "主人"就是Kubernetes本身,因为它是以一系列CRD及其支持控制器的形式实现的。
DevOps
CI/CD需要DevOps,Tekton是为分布式协作团队以及微服务或更传统的单体应用架构而构建的。
安装OpenShift Pipelines Operator
通过控制台安装
- 用集群管理员身份登录OpenShift控制台,进入“管理员”视图。
- 通过菜单进入Operators–>OpeartorHub。
- 查找到“OpenShift Pipelines Operator”,并点击进入。
- 在“OpenShift Pipelines Operator”介绍界面中点击“安装”。
- 在“安装 Operator”界面中接受缺省选项,点击“安装”。
- 安装好后会显示以下
- 此时在控制台的“管理员”和“开发者”视图中都可以看到新增加的“管道”菜单。
通过命令安装
- 执行命令安装Openshift Pipelines Operator
$ oc apply -f - << EOF
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: openshift-pipelines-operator
namespace: openshift-operators
spec:
channel: stable
name: openshift-pipelines-operator-rh
source: redhat-operators
sourceNamespace: openshift-marketplace
EOF
- 执行命令确认安装进度。
$ until oc api-resources --api-group=tekton.dev | grep tekton.dev &> /dev/null
do
echo "Operator installation in progress..."
sleep 5
done
echo "Operator ready"
环境验证
- 查看安装后查看和Tekton相关API。
$ oc api-resources --api-group=tekton.dev
NAME SHORTNAMES APIVERSION NAMESPACED KIND
clustertasks tekton.dev/v1beta1 false ClusterTask
conditions tekton.dev/v1alpha1 true Condition
pipelineresources tekton.dev/v1alpha1 true PipelineResource
pipelineruns pr,prs tekton.dev/v1beta1 true PipelineRun
pipelines tekton.dev/v1beta1 true Pipeline
runs tekton.dev/v1alpha1 true Run
taskruns tr,trs tekton.dev/v1beta1 true TaskRun
tasks tekton.dev/v1beta1 true Task
- 安装OpenShift Pipelines Operator后会自动创建openshift-pipelines项目,并在其中运行了以下Pod。
$ oc get pod -n openshift-pipelines
NAME READY STATUS RESTARTS AGE
el-pipelines-as-code-interceptor-6b7d989c89-bxgzl 1/1 Running 0 6h49m
pipelines-as-code-pr-cleanup-27612540-c57ct 0/1 Completed 0 7m34s
tekton-operator-proxy-webhook-c8798975b-8lk72 1/1 Running 0 6h54m
tekton-pipelines-controller-59c554dc8c-w68l5 1/1 Running 0 6h54m
tekton-pipelines-webhook-75c5f94c6b-2b5zr 1/1 Running 0 6h54m
tekton-triggers-controller-577779db66-swtzt 1/1 Running 0 6h52m
tekton-triggers-core-interceptors-84c984666-x8j4v 1/1 Running 0 6h52m
tekton-triggers-webhook-57bb67f4d8-m68m6 1/1 Running 0 6h52m
tkn-cli-serve-856b4676d8-f7bb7 1/1 Running 0 6h49m
- “openshift-pipelines”项目下的ConfigMap对象是管道运行的系统参数。
$ oc get cm -n openshift-pipelines
NAME DATA AGE
config-artifact-bucket 0 6h55m
config-artifact-pvc 0 6h55m
config-defaults 2 6h55m
config-defaults-triggers 2 6h53m
config-leader-election 3 6h55m
config-logging 3 6h55m
config-logging-triggers 4 6h53m
config-observability 5 6h55m
config-observability-triggers 1 6h53m
config-registry-cert 0 6h55m
config-service-cabundle 1 6h55m
config-trusted-cabundle 1 6h55m
feature-flags 8 6h55m
feature-flags-triggers 2 6h53m
kube-root-ca.crt 1 6h55m
openshift-service-ca.crt 1 6h55m
pipelines-as-code 8 6h50m
pipelines-info 1 6h55m
triggers-info 1 6h53m
安装命令行工具
安装 Tekton 客户端
- 在“安装的 Operators”中进入“Red Hat OpenShift Pipelines”,在“Operator 详情”页面下方个根据下图提示下载“tkn”客户端。
- 或者执行以下命令下载Tekton客户端。
$ curl -L https://github.com/tektoncd/cli/releases/download/v0.24.0/tkn_0.24.0_Linux_x86_64.tar.gz | tar -xzf -
$ sudo mv tkn /usr/bin/
安装 yq
访问 https://github.com/mikefarah/yq/releases/latest 页面,下载并安装 YAML 处理工具 yq。
$ wget https://github.com/mikefarah/yq/releases/download/v4.25.3/yq_linux_amd64 \
$ chmod +x yq_linux_amd64 \
$ sudo mv yq_linux_amd64 /usr/local/bin/yq
版权声明:本文为weixin_43902588原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。