OpenShift 4 Tekton (1) - OpenShift Pipeline入门-安装Pipeline Operator

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

通过控制台安装

  1. 用集群管理员身份登录OpenShift控制台,进入“管理员”视图。
  2. 通过菜单进入Operators–>OpeartorHub。
  3. 查找到“OpenShift Pipelines Operator”,并点击进入。
  4. 在“OpenShift Pipelines Operator”介绍界面中点击“安装”。
  5. 在“安装 Operator”界面中接受缺省选项,点击“安装”。
    在这里插入图片描述
  6. 安装好后会显示以下
    在这里插入图片描述
  7. 此时在控制台的“管理员”和“开发者”视图中都可以看到新增加的“管道”菜单。
    在这里插入图片描述

通过命令安装

  1. 执行命令安装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
  1. 执行命令确认安装进度。
$ 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"

环境验证

  1. 查看安装后查看和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
  1. 安装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
  1. 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 客户端

  1. 在“安装的 Operators”中进入“Red Hat OpenShift Pipelines”,在“Operator 详情”页面下方个根据下图提示下载“tkn”客户端。
    在这里插入图片描述
  2. 或者执行以下命令下载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版权协议,转载请附上原文出处链接和本声明。