Member-only story
Helm — Helm Chartsの概要
Helm入門 — Helm Chartsをもっと理解しよう!
要約:
HelmはKubernetes用のパッケージマネージャで、開発者や運用者がKubernetesクラスタ上でアプリケーションやサービスをより簡単にパッケージ化、コンフィギュア、デプロイできるようにします。Helmは、Kubernetes用に構築されたソフトウェアを見つけ、共有し、使用するための最良の方法です。
Helmとは?
HelmはKubernetesのパッケージマネージャです。HelmはK8のyumやaptに相当します。Helm は、チャートをデプロイしますが、そのチャートは、パッケージ化されたアプリケーションと考えることができるものです。Helmは、バージョンが事前にコンフィギュアされたアプリケーションリソースの集合体であり、1つのユニットとしてデプロイすることができます。その後、別のバージョンのチャートを異なるコンフィギュレーションでデプロイすることができます。
Helmは次の3つのポイントを押さえています。
1. 生産性の向上
2. マイクロサービスのデプロイの複雑さを軽減
3. クラウドネイティブアプリケーションの適応を可能にする
HelmパッケージにはKubernetesのオブジェクト定義が含まれています。Helmでは、コンフィギュレーション設定はマニフェストファイルとは別になっています。これにより、マニフェストファイル全体を変更することなく、設定をテンプレート化してカスタマイズすることができます。
Helmがなぜ必要か?
Kubernetes上にアプリケーションをデプロイする際には、ポッド、サービス、デプロイメント、レプリカセットなど、いくつかのKubernetesリソースを定義して管理する必要があります。これらはそれぞれYAMLフォーマットのマニフェストファイルを記述する必要があります。複雑なアプリケーションのデプロイメントでは、これらのリソースごとに複数のマニフェストファイルを管理するのは大変な作業になります。
さらに、マニフェストファイルをテンプレート化し、外部からコンフィギュレーションパラメータを提供することは、デプロイメントをカスタマイズするために非常に重要になります。ディペンデンシー管理とバージョン管理も同様に考慮すべき重要な要素です。
そこで、複雑なKubernetesアプリケーションのインストール、コンフィギュレーション、アップグレードのプロセスを自動化する上で、Helmが重要な役割を果たします。Helmはこのプロセスを簡素化し、クラスタにアドバタイズできる単一のパッケージを作成します。