【テクトン】

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」 = 大工・建築家
💬 ギリシャ語で「大工」や「建築家」を意味する言葉で、ソフトウェアのビルド(建築)パイプラインを作るツールだから名付けられたんだよ
← 用語集にもどる