Kubernetes の helm とは何ですか?使い方は?

Kubernetes の helm とは何ですか?使い方は?

Kubernetes (K8S) エコシステムにおいて、Helm は強力なプログラムの展開と管理のためのパッケージ管理ツールです。アプリケーションの展開、管理、アップグレードのプロセスを簡素化できます。この記事では、Kubernetes クラスターでの Helm の基本的な概念、機能、および使用方法について説明します。

1. Helm とは何ですか?

Helm[1]は、LinuxシステムのAPTやYUMに似たKubernetes用のパッケージマネージャーです。これにより、チャートと呼ばれることが多い Kubernetes アプリケーションの定義済みパッケージを定義、インストール、アップグレードできます。 Helm は、Kubernetes アプリケーションのデプロイと管理のプロセスを簡素化し、繰り返し性と保守性を高めることを目的としています。

1.Helmアーキテクチャ

Helm アーキテクチャは、Helm クライアント、Tiller サーバー、および Chart リポジトリで構成されます。 Tiller は Kubernetes にデプロイされ、Helm クライアントは Tiller と通信して Charts のデプロイとアップグレードを管理します。 Chart リポジトリから Chart インストール パッケージを取得し、Kubernetes クラスターにインストールします。

2. Helm のコアコンセプト

Helm の使い方を詳しく説明する前に、Helm のいくつかのコア概念を理解する必要があります。

(1)チャート

Chart は Helm のパッケージ形式であり、Kubernetes アプリケーションといくつかの構成可能なパラメータを記述するリソース テンプレート ファイルのセットが含まれています。チャートは、Kubernetes クラスターにすばやくデプロイできる再利用可能なアプリケーション テンプレートと考えることができます。

(2)リリース

リリースは、Kubernetes クラスターで実行されるチャートの特定のインスタンスです。各リリースには一意の名前があり、Helm 経由でデプロイ、アップグレード、または削除できます。

(3)リポジトリ

リポジトリは、ソフトウェア パッケージ管理システムのソフトウェア ソースと同様に、パッケージ化されたチャートのセットの保存場所です。 Helm を使用すると、1 つ以上のリポジトリからチャートを検索、ダウンロード、インストールできます。

2. Helm の使い方

それでは、Helm を使用して Kubernetes アプリケーションを管理する方法を見てみましょう。

1. Helmをインストールする

Helm には、バイナリ方式、スクリプトインストール、パッケージマネージャーインストールなど、さまざまなインストール方法が用意されています。今回は、スクリプトインストール方法を使用し、次のコマンドを実行しました。その他のインストール方法については、公式ウェブサイトのドキュメント[2]を参照してください。

 curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh

上記のコードを実行した後、 helm version を実行すると、出力は以下のようになり、Helm が正常にインストールされたことが示されます。

2. チャートウェアハウスを追加する

Helm は Chart リポジトリを使用して利用可能なチャートを検索します。次のコマンドを使用して Chart リポジトリを追加できます。

 helm repo add <repository-name> <repository-url>

Artifact Hub は、Helm チャートを検索、インストール、共有するためのオンライン リポジトリです。 Artifact Hub を Helm のリポジトリとして追加するには、次のように helm repo add コマンドを使用します。

 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update

bitnami: 倉庫に付けられた名前です

次に、次のコマンドを使用して、ウェアハウスのステータスを再度確認します。

 controlplane $ helm repo list NAME URL bitnami https://charts.bitnami.com/bitnami controlplane $

3. チャートを検索してインストールする

リポジトリを追加したら、 helm search コマンドを使用して利用可能なチャートを検索できます。

 helm search repo <keyword>

helm コマンドの具体的な使い方がわからない場合は、helm -h でヘルプ ドキュメントを表示できます。

たとえば、MySQL のチャートを検索する場合は、次のコマンドを実行します。

 helm search repo mysql

上記のコマンドを実行すると、ウェアハウス内でキー mysql を持つ Chart が検索されます。次に、以下のように結果をターミナルに返します。

必要なチャートが見つかったら、 helm install コマンドを使用して Kubernetes クラスターにデプロイできます。

 helm install <release-name> <repository-name>/<chart-name>

たとえば、MySQL サービスをインストールするには、次のコマンドを実行します。

 helm install my-mysql bitnami/mysql

上記のコマンドを実行すると、デプロイメントが成功すると次の情報が入力されます。

プロンプトに従って次のコマンドを実行すると、MySQL ルート パスワードを取得できます。

 kubectl get secret --namespace default my-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d

4. リリース管理

チャートがリリースとしてデプロイされると、Helm を使用して管理できるようになります。たとえば、「helm list」コマンドを使用して、デプロイされたすべてのリリースを一覧表示できます。

 controlplane $ helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION my-mysql default 1 2024-04-08 12:00:44.864307773 +0000 UTC deployed mysql-10.1.1 8.0.36

helm upgrade コマンドと helm uninstall コマンドを使用して、リリースをアップグレードおよび削除することもできます。

 controlplane $ helm uninstall my-mysql release "my-mysql" uninstalled controlplane $

最後まで書きなさい

Kubernetes では、Helm はアプリケーションのデプロイと管理のプロセスを簡素化する非常に便利なツールです。定義済みのチャートを使用することで、アプリケーションを迅速かつ繰り返し展開し、簡単にアップグレードおよび管理できます。この記事が、Helm の基本的な概念を理解し、Kubernetes クラスターで Helm を使用してワークフローを効率化するのに役立ったことを願っています。

参照:

  • [1]ヘルム: https://helm.sh/zh/
  • [2] 公式サイトのドキュメント: https://helm.sh/zh/docs/intro/install/

<<:  クラウド意思決定の十戒のうち、どれに従いましたか?

>>:  2024 年にクラウド ネイティブ アーキテクチャに必要なテクノロジー スタックは何ですか?

推薦する

プライベートクラウドプラットフォーム構築における第三者監視の価値に関する議論

プライベートクラウドの構築は非常に複雑です。構築中にサードパーティの監督者を導入すると、需要の確認、...

優れたネットワークマーケティングの3つの要素

インターネットの急速な発展に伴い、わが国には5億人近くのインターネットユーザーがおり、これは国内人口...

Kubernetes を搭載した PaaS システム - Porter

Porter は、独自のクラウド プロバイダーで実行できる Kubernetes ベースの PaaS...

#推奨# zgovps: ロサンゼルス VPS (トリプル ネットワーク AS4837)、年間 15.9 ドルから、1G メモリ/1 コア (AMD EPYC 7B13)/20gNVMe/1T トラフィック/500M 帯域幅

zgovpsは「ロサンゼルスAMD VPS」シリーズを正式に販売します。ロサンゼルスデータセンターに...

SEO戦略: ウェブサイトに高品質のリンクを構築する

高品質なリンクを作成するにはどうすればいいですか?それはリンクの重みの問題です。リンク構築は、外部リ...

Docker コンテナを別のホストにコピー/転送するにはどうすればよいですか?

[51CTO.com クイック翻訳] Docker コンテナは小さなソフトウェア ボックスなので、あ...

草の根ウェブマスターはモバイルインターネットの課題に直面:PCトラフィックは停滞

[概要] ウェブマスターがアプリを作成する場合、配布コストが高く、インストール率や起動率が低いなどの...

flipperhost - $5.5/4g メモリ/4 コア/100g ハードディスク/15T トラフィック/クアドラネット/4 コンピュータ ルーム

flipperhost が Hostcat にプロモーションとして最後に登場したのは 2017 年 ...

Baiduオリジナルは必ずしもウェブサイトのランキングを向上させるとは限らない

最近、多くの最適化クライアントから、私が毎日オリジナルの記事を書いているにもかかわらず、なぜウェブサ...

citynethost-$5/kvm/512m メモリ/20g SSD/1T トラフィック/トルコ

citynethost.com は特別価格の KVM ベースの VPS を提供しており、コンピュータ...

人気を生み出す:スクリーンスイープのコミュニケーションルーチンをまとめた6つの重要なポイント

月収10万元の起業の夢を実現するミニプログラム起業支援プランXin Shi Xiang はなぜ画面を...

Sina Weiboマイクロインタビュー: SEOの重要性

SEO業界が中国に初めて導入されたとき、人々はSEOが不正行為であると誤解することが多かった。しかし...

タオバオオンラインストアの一般的なプロモーション方法の長所と短所を解読する

タオバオでオンラインストアを開設する販売者にとって、トラフィックはすべてを意味します。トラフィックが...