【KubernetesでCI/CD】Tektonとは

2021.11.10
2024.03.24
CI/CD
Tekton

はじめに

KubernetesでCI/CDができるTektonについてどんなものなのかローカルで使うために何をしたらいいのかまとめました。

ローカル上でKubernetesが動いていることが前提となっています。今回はDocker DesktopでKubernetesを動かしています。

【Kubernetes初めの一歩】Kubernetesって何?

【Kubernetes初めの一歩】Kubernetesって何?

:::affiliate-message 本ページはAmazonアフィリエイトのリンクを含みます。

Tektonとは

Tektonとは、KubernetesネイティブなCI/CDパイプラインを構築するためのソリューションです。

Tekton

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のWebUI
  • Tekton 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の部分をlitebasicにすることでインストールされるコンポーネントが変わります。

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ソリューション

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee