はじめに
Helmは、アプリケーションとサービスの作成、パッケージ化、構成、およびKubernetesクラスターへのデプロイを自動化するためのKubernetesデプロイメントツールです。
Kubernetesは、アプリケーションをデプロイするための強力なコンテナオーケストレーションシステムです。処理する独立したリソースは複数あり、それぞれに専用のYAMLマニフェストファイルが必要です。
この記事では、HelmチャートとHelmチャートとは何か、Kubernetesへのアプリケーションのデプロイを自動化する方法について説明します。
ヘルムとは何ですか?
Kubernetesがオペレーティングシステムの場合、Helmがパッケージマネージャーになります。 Ubuntuはapt
を使用します 、CentOSは yum
を使用します 、Kubernetesは helm
を使用します 。
Helmは、パッケージ化されたアプリケーションをKubernetesにデプロイし、それらをチャートに構造化します。グラフには、事前に構成されたすべてのアプリケーションリソースと、すべてのバージョンが1つの管理しやすいパッケージに含まれています。
Helmは、シンプルなCLIコマンドを使用して、Kubernetesでのインストール、アップグレード、依存関係のフェッチ、およびデプロイの構成を合理化します。ソフトウェアパッケージはリポジトリにあるか、作成されています。
なぜヘルムが必要なのですか?
Kubernetesオブジェクトの管理は困難です。便利なツールを使用すると、Kubernetesの学習曲線がスムーズで管理しやすくなります。 Helmは、情報をチャートにパッケージ化し、それらをKubernetesクラスターにアドバタイズすることで、KubernetesオブジェクトのYAMLマニフェストのメンテナンスを自動化します。
Helmは、すべてのチャートのインストールと変更のバージョン管理された履歴を追跡します。以前のバージョンへのロールバックまたは新しいバージョンへのアップグレードは、わかりやすいコマンドで完了します。
ヘルムで何ができますか?
Helmを使用すると、ソフトウェア開発者は可能な限り簡単な方法で環境を展開およびテストできます。開発からテスト、本番に至るまでの時間が短縮されます。
Helmは、生産性の向上に加えて、開発者がアプリケーションをパックしてエンドユーザーに送信してインストールするための便利な方法を提供します。
ヘルムはどのように機能しますか?
HelmとKubernetesは、クライアント/サーバーアプリケーションのように機能します。 HelmクライアントはリソースをKubernetesクラスターにプッシュします。サーバー側はバージョンによって異なります。Helm2はTillerを使用し、Helm 3はTillerを削除し、KubernetesAPIに完全に依存しています。
ヘルムチャートとは
Helmチャートは、Kubernetesマニフェストファイルに変換するYAMLファイルとテンプレートで構成されるHelmパッケージです。グラフは、どのような環境でも誰でも再利用できるため、複雑さと重複が軽減されます。フォルダの構造は次のとおりです。
ヘルムチャートはどのように機能しますか?
ヘルムチャートの3つの基本的な概念は次のとおりです。
1.グラフ –Kubernetesリソースの事前設定されたテンプレート。
2.リリース –Helmを使用してKubernetesクラスターにデプロイされたチャート。
3.リポジトリ –公開されているグラフ。
ワークフローは、リポジトリを検索することです。 グラフの場合 それらをKubernetesクラスタにインストールして、リリースを作成します 。
ヘルムチャートの構造
Helmチャートのファイルとディレクトリには、それぞれ特定の機能があります。
名前 | タイプ | 機能 |
---|---|---|
グラフ/ | ディレクトリ | 手動で管理されるグラフの依存関係のディレクトリ。 |
テンプレート/ | ディレクトリ | テンプレートファイルはGolangで記述され、values.yamlファイルの構成値と組み合わされてKubernetesマニフェストが生成されます。 |
Chart.yaml | ファイル | バージョン、名前、検索キーワードなど、グラフに関するメタデータ |
ライセンス(オプション) | ファイル | プレーンテキスト形式のグラフのライセンス。 |
README.md(オプション) | ファイル | チャートのユーザー向けの人間が読める情報。 |
requirements.yaml(オプション) | ファイル | グラフの依存関係のリスト。 |
values.yaml | ファイル | グラフのデフォルトの構成値。 |
Helmチャートを手動で作成するか、リポジトリから公開されているチャートを収集します。
ヘルムチャートリポジトリ
リポジトリには、インストールしたり、他のユーザーと共有したりできるグラフが含まれています。 Helmは、クライアントから直接検索するコマンドを提供します。検索には2つの一般的なタイプがあります:
1.helm search hub
–数十のリポジトリからArtifactHubを検索します。
2.helm search repo
– helm repo addを使用してローカルhelmクライアントに追加されたリポジトリを検索します 。
フィルタがない場合、使用可能なすべてのグラフが検索結果に表示されます。検索語を追加して、クエリを絞り込みます。例:
helm search hub wordpress
適切なグラフが見つかったら、 helm install
を使用してグラフをインストールします 。
ヘルムチャートのリリース
チャートをインストールすると、新しいパッケージのリリースが作成されます。 helm install
コマンドは2つの引数を取ります:
helm install <release name> <chart name>
helm install
を実行しています 有用な情報と、インストールのためにアクションを実行する必要があるかどうかを出力します。チャートはカスタマイズ可能で、インストール前に簡単に構成できます。ヘルムリリースは、メンテナンスが簡単で、不要な変更があった場合にロールバックできます。