【テクトン】

Tekton とは?

公開:
💡 Kubernetesネイティブ!クラウド時代のCI/CDパイプライン基盤
📌 このページのポイント
Tekton の構造(Kubernetes上のCI/CD) Kubernetes クラスタ Pipeline Task: clone ソース取得 Task: build イメージビルド Task: deploy K8sデプロイ Trigger Webhookで パイプライン起動 TaskRun 各TaskがPodとして 実行される Tekton Hub 再利用可能な Taskカタログ
Tekton の構造のイメージ
ひよこ ひよこ
TektonってJenkinsGitHub Actionsとは何が違うの?
ペンギン先生 ペンギン先生
一番の違いは「Kubernetes上で動く」ことだよ。JenkinsCircleCIは専用のサーバーやクラウドサービスが必要だけど、TektonはKubernetesリソースとしてパイプラインを定義して、普通のPodとして実行されるんだ
ひよこ ひよこ
Kubernetesの上で動くと何がうれしいの?
ペンギン先生 ペンギン先生
アプリケーションの実行環境とCI/CDの実行環境が同じKubernetesクラスタ上にあるから、管理が一元化できるんだ。スケーリングKubernetesに任せられるし、既存のKubernetes監視セキュリティの仕組みをそのまま使えるよ
ひよこ ひよこ
具体的にどうやって使うの?
ペンギン先生 ペンギン先生
YAMLでTaskとPipelineを定義するんだ。Taskが「テストを実行する」「コンテナイメージをビルドする」といった個々の作業で、Pipelineがそれらを順番に繋げたものだよ。kubectl applyで適用すれば、Kubernetes上でパイプラインが動き出すんだ
ひよこ ひよこ
どういうプロジェクトで使われているの?
ペンギン先生 ペンギン先生
Google Cloud BuildやRed Hat OpenShift Pipelinesの内部基盤としてTektonが使われているよ。大規模なKubernetes環境を運用している企業が、ベンダーロックインを避けつつCI/CDを統一したいときに選ばれることが多いんだ
ひよこ ひよこ
個人で使うには大げさな感じがするけど、学ぶ意味はあるの?
ペンギン先生 ペンギン先生
確かに個人プロジェクトにはオーバースペックだね。ただ、TektonはCDF(Continuous Delivery Foundation)のプロジェクトで、CI/CDの標準化を目指しているんだ。Kubernetesがインフラのデファクトになりつつあるように、TektonがCI/CDのデファクトになる可能性もあるから、キャリアとして知っておく価値はあるよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Tekton」って出てきたら「Kubernetes上で動くCI/CDパイプライン基盤」と思えればだいたいOK!
📖 おまけ:英語の意味
「Tekton」 = 大工・建築家
💬 ギリシャ語で「大工」や「建築家」を意味する言葉で、ソフトウェアのビルド(建築)パイプラインを作るツールだから名付けられたんだよ
← 用語集にもどる