天天看點

OpenShift 4 Tekton (1) - OpenShift Pipeline入門-安裝Pipeline OperatorTekton 簡介安裝OpenShift Pipelines Operator安裝Tekton用戶端

《OpenShift 4.x HOL教程彙總》

說明:本文已經在OpenShift 4.8環境中驗證

文章目錄

  • Tekton 簡介
  • 安裝OpenShift Pipelines Operator
    • 通過控制台安裝
    • 通過指令安裝
    • 環境驗證
  • 安裝Tekton用戶端

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”界面中接受預設選項,點選“安裝”。
    OpenShift 4 Tekton (1) - OpenShift Pipeline入門-安裝Pipeline OperatorTekton 簡介安裝OpenShift Pipelines Operator安裝Tekton用戶端
  6. 安裝好後會顯示以下
    OpenShift 4 Tekton (1) - OpenShift Pipeline入門-安裝Pipeline OperatorTekton 簡介安裝OpenShift Pipelines Operator安裝Tekton用戶端
  7. 此時在控制台的“管理者”和“開發者”視圖中都可以看到新增加的“管道”菜單。
    OpenShift 4 Tekton (1) - OpenShift Pipeline入門-安裝Pipeline OperatorTekton 簡介安裝OpenShift Pipelines Operator安裝Tekton用戶端

通過指令安裝

  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
tekton-operator-proxy-webhook-66cf98c74f-mrxtj      1/1     Running   0          4m30s
tekton-pipelines-controller-5576c76c55-csxh8        1/1     Running   0          4m31s
tekton-pipelines-webhook-55587d564d-b5rgj           1/1     Running   0          4m31s
tekton-triggers-controller-665d7768f4-c7ftj         1/1     Running   0          4m3s
tekton-triggers-core-interceptors-bb78d75d9-fbf64   1/1     Running   0          3m59s
tekton-triggers-webhook-86f7674d9c-mw5v5            1/1     Running   0          4m4s
           
  1. “openshift-pipelines”項目下的ConfigMap對象是管道運作的系統參數。
$ oc get cm -n openshift-pipelines
NAME                            DATA   AGE
config-artifact-bucket          0      2d3h
config-artifact-pvc             0      2d3h
config-defaults                 2      2d3h
config-leader-election          3      2d3h
config-logging                  3      2d3h
config-logging-triggers         4      2d3h
config-observability            1      2d3h
config-observability-triggers   1      2d3h
config-registry-cert            0      2d3h
config-service-cabundle         1      2d3h
config-trusted-cabundle         1      2d3h
feature-flags                   9      2d3h
kube-root-ca.crt                1      2d3h
openshift-service-ca.crt        1      2d3h
           

安裝Tekton用戶端

  1. 在“安裝的Operators”中進入“Red Hat OpenShift Pipelines”,在“詳情”頁面下方個根據下圖提示下載下傳“tkn”用戶端。
    OpenShift 4 Tekton (1) - OpenShift Pipeline入門-安裝Pipeline OperatorTekton 簡介安裝OpenShift Pipelines Operator安裝Tekton用戶端
  2. 或者執行以下指令下載下傳Tekton用戶端。
$ curl -L https://github.com/tektoncd/cli/releases/download/v0.20.0/tkn_0.20.0_Linux_x86_64.tar.gz | tar -xzf -
$ mv tkn /usr/bin/
           

繼續閱讀