Member-only story
DevOps導入のアプローチ:ビルド&デプロイ(第二回目)
サーバーレスJenkins(Jenkins X)を用いた企業向けKubernetes CI/CDアプローチによるリアルタイムクラウドネイティブプロジェクトでのビルド&デプロイメントプロセスをご紹介します。長い記事なので、3回に分けて投稿いたします。今回は第二回目です。
Helmとは?
Helmは、Linuxディストリビューション(OS)のyumや apt-getのようなKubernetes用のパッケージマネージャです。一言で言えば、HelmはKubernetes上でのアプリケーションのデプロイメントを管理するのに役立ちます。これはKubernetesコンポーネントのテンプレートツールであり、その下にはアプリケーションのインストール、整理、検索、共有、管理を支援するいくつかのツールとKubernetesの YAMLがあるだけです。Helmがアプリケーションのパッケージに使用するフォーマットはChartと呼ばれています。Helm Chartは、関連するKubernetesリソースのセットを記述するファイルの集まりです。Helmには、コマンドラインツール(CLI)の「クライアント」と「*Tiller」というバックエンドサーバーの2つの部分があり、受信したリクエストを受け取り、1つのコマンドから適切なパッケージをKubernetesクラスタにインストールします。
Tektonとは?
Tektonは、CI/CDシステムを構築するための共有されたオープンソースのコンポーネント群であり、Kubernetes上でアプリを構築、テスト、デプロイする機能を持ち合わせています。Tektonは、ベンダーニュートラルなオープンソースの基盤を通じて、CI/CDパイプライン、ワークフロー、その他のビルディングブロックの業界仕様版を提供することを目的とし、継続的なデリバリーのコントロールプレーンを近代化し、ソフトウェアデプロイメントのブレインをKubernetesに移行します。
Tekton PipelinesはKnative Buildコンポーネントを起源とし、2018年8月から別のリポジトリにアウトソースされました(比較的新しいものです)。Kubernetesのみにフォーカスしており、KubernetesのAPIを拡張した Custom Resource Definitions (CRDs)によって定義されています。
Tekton Pipelinesをクラスタにインストールすると、4つの新しいカスタムリソースが自分のKubernestes クラスタに導入されます。Tasks, Pipelines…