【KubernetesでCI/CD】Tektonとは
2021.11.10
2024.03.24
CI/CD
Tekton
はじめに
KubernetesでCI/CDができるTektonについてどんなものなのか、ローカルで使うために何をしたらいいのかまとめました。
ローカル上でKubernetesが動いていることが前提となっています。今回はDocker DesktopでKubernetesを動かしています。
【Kubernetes初めの一歩】Kubernetesって何?
:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。
Tektonとは
Tektonとは、KubernetesネイティブなCI/CDパイプラインを構築するためのソリューションです。
Tekton
Cloud Native CI/CD
TektonはKubernetesクラスタ上にインストール・実行され、インストールするとkubectlでTektonが使えるようになります。
Tektonは以下のコンポーネントからなります。
Tekton Pipelines
: CI/CDパイプラインを可能にするTektonの基礎Tekton Triggers
: CI/CDのイベントトリガーTekton CLI
: Tektonを操作するコマンドラインインターフェースTekton Dashboard
: パイプライン向けのダッシュボードTekton Catalog
: TaskやPipelineなどのリポジトリTekton Hub
: Tekton CatalogのWebUITekton Operator
: Tektonツールの追加や更新などを管理
Tektonを始める
実際にTektonをローカルで使えるようにしていきます。
前提として、Docker DesktopやMinikubeでKubernetesをローカルで動かしておきます。
Tekton Operatorでインストール
Tekton Operatorを使ってPipelines、Triggers、Dashboardを簡単にインストールできます。
まずは、Operatorをインストールします。
1❯ kubectl apply -f https://storage.googleapis.com/tekton-releases/operator/latest/release.yaml
2namespace/tekton-operator created
3customresourcedefinition.apiextensions.k8s.io/tektonconfigs.operator.tekton.dev created
4customresourcedefinition.apiextensions.k8s.io/tektondashboards.operator.tekton.dev created
5customresourcedefinition.apiextensions.k8s.io/tektoninstallersets.operator.tekton.dev created
6customresourcedefinition.apiextensions.k8s.io/tektonpipelines.operator.tekton.dev created
7customresourcedefinition.apiextensions.k8s.io/tektonresults.operator.tekton.dev created
8customresourcedefinition.apiextensions.k8s.io/tektontriggers.operator.tekton.dev created
9mutatingwebhookconfiguration.admissionregistration.k8s.io/webhook.operator.tekton.dev created
10serviceaccount/tekton-operator created
11clusterrole.rbac.authorization.k8s.io/tekton-operator created
12clusterrolebinding.rbac.authorization.k8s.io/tekton-operator created
13configmap/config-logging created
14configmap/tekton-config-defaults created
15configmap/tekton-config-observability created
16secret/tekton-operator-webhook-certs created
17service/tekton-operator created
18service/tekton-operator-webhook created
19deployment.apps/tekton-operator created
20deployment.apps/tekton-operator-webhook created
21validatingwebhookconfiguration.admissionregistration.k8s.io/config.webhook.operator.tekton.dev created
22validatingwebhookconfiguration.admissionregistration.k8s.io/validation.webhook.operator.tekton.dev created
次にコンポーネントをインストールします。
all
の部分をlite
やbasic
にすることでインストールされるコンポーネントが変わります。
1❯ kubectl apply -f https://raw.githubusercontent.com/tektoncd/operator/main/config/crs/kubernetes/config/all/operator_v1alpha1_config_cr.yaml
2tektonconfig.operator.tekton.dev/config configured
インストールするコンポーネントを変える場合は再度実行します。
1❯ kubectl apply -f https://raw.githubusercontent.com/tektoncd/operator/main/config/crs/kubernetes/config/lite/operator_v1alpha1_config_cr.yaml
2tektonconfig.operator.tekton.dev/config configured
以上で準備完了です。
Tekton CLIをインストール
次にTekton CLIをインストールします。
1❯ brew tap tektoncd/tools
2
3❯ brew install tektoncd/tools/tektoncd-cli
まとめ
- TektonはKubernetesネイティブなCI/CDソリューション
参考
- Tekton
- Overview of Tekton | Tekton
- tektoncd/operator: Kubernetes operator to manage installation, updation and uninstallation of tektoncd projects (pipeline, …)
Share
関連記事
【SonarQube】Docker Composeでサクッと試してみる
2022.10.02
【Tekton】Cloud Native Buildpacksでビルドする
2022.07.26
【KubernetesでCI/CD】Tekton動かしてみる
2021.11.13