複数のOpenShiftクラスターにまたがるCI / CDパイプライン

従来、CI / CDパイプラインは、物理サーバーと仮想マシンの上に構築されてきました。KubernetesやOpenShiftなどのコンテナープラットフォームは、ずっと後にこのシーンに登場しました。ただし、OpenShiftプラットフォームに移行されるワークロードが増えるにつれて、CI / CDパイプラインも移行され、パイプラインジョブはクラスター上で実行されているコンテナー内でますます実行されます。





この投稿は、自称ブログの作成者である友人のAles Nosikのブログの翻訳です(「Kubernetesの世界をナビゲートするのに役立ちます」)。Alesのモットー:「ソフトウェア開発者およびアーキテクトは、新しいテクノロジー、オープンソース、およびDevOps文化に情熱を注いでいます。ソフトウェアで世界をより良い場所にする」。





コメントでAlesを読んだ後、質問をすることができます。ええと、それがなければ、アレスは最も難しい質問のために、レッドハットからのルートマップを備えたバックパッカーのセットを提示したいと考えています。そして帽子。





現実の世界では、企業は1つのOpenShiftクラスターに限定されず、一度に複数のクラスターを持っています。どうして?さまざまなパブリッククラウドと独自のIT施設の両方でワークロードを実行するため。または、組織が単一のプラットフォームプロバイダーに忠実であり続ける場合は、世界のさまざまな地域で効果的に運営するために。また、たとえば、複数のセキュリティゾーンがあり、それぞれに独自のクラスターが必要な場合など、1つのリージョンに複数のクラスターが必要になる場合があります。





, OpenShift. , CI/CD , , .





CI/CD- Jenkins

Jenkins – CI/CD. - Hudson…, , . , Jenkins, OpenShift? , , . , Jenkins ( -Jenkins), OpenShift. -Jenkins , -Jenkins, . OpenShift (Dev, Test Prod), :





Jenkins OpenShift Kubernetes-plugin, -Jenkins worker- . , , . :





stage ('Build') {
  node ("dev") {
    // running on dev cluster
  }
}

stage ('Test') {
  node ("test") {
    // running on test cluster
  }
}

stage ('Prod') {
  node ("prod") {
    // running on prod cluster
  }
}
      
      



OpenShift Jenkins, openshift. -Jenkins, worker-pod’ . , -Jenkins OpenShift, . Jenkins- worker-pod -Jenkins. , -Jenkins worker-, OpenShift.





, . -Jenkins worker- pod- OpenShift, worker- . OpenShift , Jenkins- worker. Jenkins, Jenkins- , .





Kubernetes- Tekton

, CI/CD Tekton. Jenkins, Tekton – Kubernetes- : Kubernetes Kubernetes. Tekton – . , OpenShift?





Tekton. , execute-remote-pipeline, Tekton-, OpenShift. . Tekton OpenShift . , , OpenShift (Dev, Test Prod):





Dev. Dev Test, , , Prod. :





$ tkn pipeline start dev --showlog
Pipelinerun started: dev-run-bd5fs
Waiting for logs to be available...
[execute-remote-pipeline : execute-remote-pipeline-step] Logged into "https://api.cluster-affc.sandbox1480.opentlc.com:6443" as "system:serviceaccount:test-pipeline:pipeline-starter" using the token provided.
[execute-remote-pipeline : execute-remote-pipeline-step]
[execute-remote-pipeline : execute-remote-pipeline-step] You have one project on this server: "test-pipeline"
[execute-remote-pipeline : execute-remote-pipeline-step]
[execute-remote-pipeline : execute-remote-pipeline-step] Using project "test-pipeline".
[execute-remote-pipeline : execute-remote-pipeline-step] Welcome! See 'oc help' to get started.
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step] Logged into "https://api.cluster-affc.sandbox1480.opentlc.com:6443" as "system:serviceaccount:prod-pipeline:pipeline-starter" using the token provided.
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step]
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step] You have one project on this server: "prod-pipeline"
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step]
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step] Using project "prod-pipeline".
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step] Welcome! See 'oc help' to get started.
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step] [prod : prod-step] Running on prod cluster
[execute-remote-pipeline : execute-remote-pipeline-step] [execute-remote-pipeline : execute-remote-pipeline-step]
[execute-remote-pipeline : execute-remote-pipeline-step]
      
      



, Tekton. – .





, . Kubernetes- Tekton , RBAC. , , (, Test ), (Prod), , (Prod). , , (Prod), , (Test). , Prod Test- -, Test Prod.





, , Jenkins Tekton CI/CD, OpenShift, , .





, OpenShift, , -, .





 : Ales Nosek





13 Apache Airflow OpenShift, , .





  • 13 . OpenShift

    , OpenShift' .

    – .





  • 20 . OpenShift Virtualization: , serverless ,

    – OpenShift Virtualization.








All Articles