Kubernetesクラスターにアプリケーションをデプロイするのは複雑な作業になる可能性があります。多くの場合、ユーザーはポッド、サービス、レプリカセットを作成するためにさまざまなYAMLマニフェストファイルを作成する必要があります。 HelmはKubernetesのオープンソースパッケージマネージャーであり、開発者はKubernetesクラスターでアプリケーションをデプロイおよび構成するプロセスをシームレスに自動化できます。 Kubernetesを初めて使用する場合は、最初にKubernetesの基本的な概念をよく理解しておくことをお勧めします。
このガイドでは、Helmの概要と、Kubernetesクラスターでのアプリケーションとパッケージの管理にHelmがどのように役立つかについて説明します。このガイドを書いている時点で、最新のリリースはHelmv3です。
ヘルムの基本的な用語と概念
他のテクノロジーと同様に、いくつかの用語を調べて、それがどのように機能するかをよりよく理解することをお勧めします。ただし、基本的に、Helmは、クライアントであるHelmとサーバーであるTillerの2つの要素で構成されます。ティラーはKubernetesクラスター内で実行されます。定義を見てみましょう:
- ヘルム:これは、チャートを使用してKubernetesアプリケーションを定義、デプロイ、アップグレードできるコマンドラインインターフェースです。
- ティラー:これは、Kubernetesクラスターで実行され、ヘルムからのコマンドを受け入れるサーバーコンポーネントです。クラスタでのソフトウェアアプリケーションの展開と構成を処理します。
- グラフ:これは、KubernetesマニフェストファイルでレンダリングされるYAML構成ファイルとテンプレートで構成されるhelmパッケージのコレクションです。 1つのグラフで、memcachedポッドなどの単純なアプリケーションや、データベースなどを備えた完全なウェブアプリケーションをデプロイできます。グラフの作成、公開、共有は非常に簡単です。
- グラフリポジトリ:これは、グラフを収集して共有できる場所またはデータベースです。
- リリース:Kubernetesクラスター内で実行されているチャートインスタンスです。ユーザーの希望に応じて何度でもインストールでき、そのたびに新しいリリースが作成されます。
Helmを使用すると、展開が容易になり、プロセスが標準化されて再利用可能になります。これにより、Kubernetesクラスターを管理するための優れた方法になります。ヘルムスチャートは、最初から始めることなく始めるのに役立つという点で特に役立ちます。
KubernetesクラスタにHelmをインストールする方法
HelmはKubernetesクラスターで動作するため、最初にKubernetesクラスターをセットアップするようにしてください。また、すべてのノードの準備ができていることを確認してください。これは、コントロールプレーンからコマンドを実行することで実現できます:
$ kubectl get nodes
helmをインストールする方法はいくつかありますが、最も簡単な方法は自動スクリプトを使用することです。次に、次に示すように、curlコマンドを使用して自動スクリプトをダウンロードします。
$ curl -fsSL -o get_helm.sh \ https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
次のようにスクリプトを実行するための実行権限を付与します。
$ chmod 700 get_helm.sh $ ./get_helm.sh
Helmは/usr/ local/binディレクトリにインストールされます。
ヘルムのバージョンを確認するには、次のコマンドを実行します:
$ helm version
KubernetesクラスターでのHelmの使用
helmを使用する最初のステップは、ローカルシステムにチャートをインストールすることです。 Artifactsハブには、システムにローカルにインストールできる何百ものパブリックチャートリポジトリが含まれています。 Artifacts Hubは、何千ものKubernetesパッケージを含むオープンソースプロジェクトです。
アーティファクトハブからチャートをインストールするには、表示されたテキストフィールドでチャート名を検索します。この例では、MariaDBチャートを検索しています。
Enterキーを押すと、選択できるグラフのリストが表示されます。
好みのチャートを選択すると、それをインストールする方法の説明のリストが提供されます
グラフリポジトリの追加
チャートをインストールする前に、まずチャートリポジトリを追加する必要があります。これを実現するには、次の構文を使用します。
$ helm repo add [chart_repo] [chart URL]
たとえば、MariaDBチャートをインストールするには、次のコマンドを実行します。
$ helm repo add bitnami https://charts.bitnami.com/bitnami
出力は、チャートリポジトリがシステムに正常に追加されたことを確認します。
チャートのインストール
チャートリポジトリが追加されたら、次の構文を使用してチャートをインストールできます。
$ helm install [release-name] [chart_repo] / [chart-name]
たとえば、my-release runという名前でMariaDBチャートをインストールするには、次のようにします。
$ helm install my-release bitnami/mariadb
helmクライアントは、作成されたリソースのリストと、実行可能な追加の構成手順を出力します。
完了したら、次のコマンドを使用して、インストールされているチャートを一覧表示できます。
$ helm ls
構成情報を再度読み取るには、次を実行します。
$ヘルムステータスリリース名
この場合:
$ helm status my-release
独自のグラフを作成する
次のコマンドを使用して、独自のグラフを作成することもできます:
$ helm create chart-name
たとえば、my-chart executeというグラフを作成するには:
$ helm create my-chart
次のツリーコマンドを使用して、チャートのディレクトリ構造を確認できます。
$ tree my-chart/
グラフの削除
グラフをアンインストールするには、構文を使用します
$ helm delete release-name
たとえば、現在インストールされているチャートを削除するには、コマンドは次のようになります。
$ helm delete my-release
助けを得る
helm CLIの使用に関するその他のオプションを取得するには、以下のコマンドを実行してください
$ helm get -h
結論:
ヘルムとそのコマンドの詳細については、ヘルムのドキュメントを確認してください
また読む :KubernetesでNGINXIngressControllerを設定する方法