9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RedhatのOpenshift Pipeline Leranigをやってみた

Posted at

Redhat Developerで提供されているOpenshiftのLearning「Getting Started with OpenShift Pipelines」を試したので、実行した結果をまとめてみます。

Learning概要

このLearningでやること

概要をまとめるとこんな感じです

  • Step1: Pipeline Operatorインストール
  • Step2: プロジェクトの作成
  • Step3: サンプルタスクの作成
  • Step4: タスクの作成
  • Step5: Pipelineの作成
  • Step6: Pipeline実行
  • Step7: Deployment確認

留意する事

  • タイムアウトでセッションが切れる場合があります。セッションが切れるとやり直しです

  • ターミナルのコピペはChromeの右クリックからやるとコピペできます。説明のコマンドも右クリックからペーストすると貼れます

  • マニフェストを作成する際、「Visual Editor」でファイルを作成することができます。(しかも、Ctr + Vのペーストが効きます)
    マニフェストを作成する際はこちらの方が楽かもしれないです。
    image.png

    [root@crc-dzk9v-master-0 /]# cd root
    [root@crc-dzk9v-master-0 root]# ls
    subscription.yaml
    [root@crc-dzk9v-master-0 root]# cat subscription.yaml
    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
    

実行結果

Step1: Pipeline Operatorインストール

  1. Podの確認

    [root@crc-dzk9v-master-0 /]# oc get pods -n openshift-console | grep console
    console-7c78484b46-vmrlr     1/1     Running   0          2m6s
    
  2. Route確認

    root@crc-dzk9v-master-0 /]# oc get routes console -n openshift-console
    NAME      HOST/PORT                                                                   PATH   SERVICES   PORT    TERMINATION          WILDCARD
    console   console-openshift-console.crc-dzk9v-master-0.crc.cwfp6z3ke4xd.instruqt.io          console    https   reencrypt/Redirect   None
    
  3. コンソールへアクセス

    image.png

  4. [Operator]-[Operator hub]でpipelineを検索
    image.png

  5. [インストール]をクリックする
    image.png

  6. 設定は変えずに[インストール]  
    image.png

Step2: プロジェクトの作成

  1. プロジェクトを作成する

    [root@crc-dzk9v-master-0 /]# oc new-project pipelines-tutorial
    Now using project "pipelines-tutorial" on server "https://api.crc.testing:6443".
    
    You can add applications to this project with the 'new-app' command. For example, try:
    
        oc new-app rails-postgresql-example
    
    to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    
        kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
    

余談

oc new-projectを実行すると、デフォルトのプロジェクトが作成したプロジェクトに切り替わります。

[root@crc-dzk9v-master-0 /]# oc get pod
No resources found in pipelines-tutorial namespace.

Step3: サンプルタスクの作成

  1. マニフェストをapplyする

    [root@crc-dzk9v-master-0 /]# oc apply -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/tasks/hello.yaml
    task.tekton.dev/hello created
    
  2. タスクを実行する

    [root@crc-dzk9v-master-0 /]# tkn task list
    NAME    DESCRIPTION   AGE
    hello                 4 minutes ago
    [root@crc-dzk9v-master-0 /]# tkn task start --showlog hello
    TaskRun started: hello-run-9vpjc
    Waiting for logs to be available...
    [say-hello] Hello World
    

余談

タスクを実行したコンテナが確認できます。
(※2回実行したので、2個になっています)

[root@crc-dzk9v-master-0 /]# oc get pod
NAME                        READY   STATUS      RESTARTS   AGE
hello-run-9vpjc-pod-2shd5   0/1     Completed   0          27s
hello-run-mvdhf-pod-7zwtx   0/1     Completed   0          5m14s

Step4: タスクの作成

  1. タスクをapplyする

    [root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/tasks/apply_manifest_task.yaml
    task.tekton.dev/apply-manifests created
    [root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/tasks/update_deployment_task.yaml
    task.tekton.dev/update-deployment created
    
  2. PVCをapplyする

    [root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/resources/persistent_volume_claim.yaml
    persistentvolumeclaim/source-pvc created
    
  3. タスクを確認する

    [root@crc-dzk9v-master-0 /]# tkn task ls
    NAME                DESCRIPTION   AGE
    apply-manifests                   46 seconds ago
    hello                             1 minute ago
    update-deployment                 37 seconds ago
    

Step5: Pipelineの作成

  1. Pipelineをapplyする

    [root@crc-dzk9v-master-0 /]# oc create -f https://raw.githubusercontent.com/openshift-labs/learn-katacoda/master/middleware/pipelines/assets/pipeline/pipeline.yaml
    pipeline.tekton.dev/build-and-deploy created
    

Step6: Pipeline実行

  1. Pipelineを実行する

    [root@crc-dzk9v-master-0 /]# tkn pipeline start build-and-deploy -w name=shared-workspace,claimName=source-pvc -p deployment-name=pipelines-vote-api -p git-url=https://github.com/openshift/pipelines-vote-api.git -p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/vote-api -p git-revision=master --showlog
    PipelineRun started: build-and-deploy-run-8knfk
    Waiting for logs to be available...
    [fetch-repository : clone] + '[' false = true ']'
    [fetch-repository : clone] + '[' false = true ']'
    [fetch-repository : clone] + CHECKOUT_DIR=/workspace/output/
    [fetch-repository : clone] + '[' true = true ']'
    [fetch-repository : clone] + cleandir
    [fetch-repository : clone] + '[' -d /workspace/output/ ']'
    [fetch-repository : clone] + rm -rf '/workspace/output//*'
    [fetch-repository : clone] + rm -rf '/workspace/output//.[!.]*'
    [fetch-repository : clone] + rm -rf '/workspace/output//..?*'
    [fetch-repository : clone] + test -z ''
    ~~ ommit ~~
    
    [root@crc-dzk9v-master-0 /]# tkn pipeline start build-and-deploy -w name=shared-workspace,claimName=source-pvc -p deployment-name=pipelines-vote-ui -p git-url=https://github.com/openshift/pipelines-vote-ui.git -p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/vote-ui -p git-revision=master --showlog
    PipelineRun started: build-and-deploy-run-4fnf9
    Waiting for logs to be available...
    [fetch-repository : clone] + '[' false = true ']'
    [fetch-repository : clone] + '[' false = true ']'
    [fetch-repository : clone] + CHECKOUT_DIR=/workspace/output/
    [fetch-repository : clone] + '[' true = true ']'
    [fetch-repository : clone] + cleandir
    ~~ ommit ~~
    
  2. Pipelineを確認する

    [root@crc-dzk9v-master-0 /]# tkn pipelinerun ls
    NAME                         STARTED         DURATION    STATUS
    build-and-deploy-run-4fnf9   3 minutes ago   1 minute    Succeeded
    build-and-deploy-run-8knfk   6 minutes ago   2 minutes   Succeeded
    

Step7: Deployment確認

  1. コンソールを[Developer]に切り替え、[トポロジー]を選択
    image.png

  2. リンクを開くとページが表示される
    image.png

9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?