【テクトン】
Tekton とは?
公開:
💡 Kubernetesネイティブ!クラウド時代のCI/CDパイプライン基盤
📌 このページのポイント
- Kubernetes上でCI/CDパイプラインを実行するオープンソースフレームワーク
- Task・Pipeline・TriggerなどKubernetesのカスタムリソースとして定義する
- Google Cloud BuildやRed Hat OpenShift Pipelinesの基盤技術として採用されている
- ベンダーロックインを避けたクラウドネイティブなCI/CD環境を構築できる
TektonってJenkinsやGitHub Actionsとは何が違うの?
一番の違いは「Kubernetes上で動く」ことだよ。JenkinsやCircleCIは専用のサーバーやクラウドサービスが必要だけど、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」 = 大工・建築家
💬 ギリシャ語で「大工」や「建築家」を意味する言葉で、ソフトウェアのビルド(建築)パイプラインを作るツールだから名付けられたんだよ