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 年にクラウド ネイティブ アーキテクチャに必要なテクノロジー スタックは何ですか?

推薦する

ブロックチェーン技術の起源と進化(パート2):Hyperledger Fabricと分散型アライアンスデータベース

【51CTO.comオリジナル記事】序文今日最も代表的なデータ通信技術といえば、ブロックチェーンは間...

クラウドコンピューティング移行を実施する前に考慮すべき3つの要素

プライベート クラウドは、クラウド コンピューティング環境の拡張性と柔軟性を活用しながら、IT ワー...

仮想化技術はサーバー購入数に影響しますか?

一部のサーバーおよび仮想化ベンダーが望むように進めば、数年後にはエンドユーザー企業が購入する物理サー...

VPS 初心者向けチュートリアル: Linux VPS の SFTP、「FTP」

この記事では、Linux システム上で SFTP を使用してファイルを転送する方法について説明します...

デジタル変革の波の中でのハイブリッドクラウドの導入戦略と実践

2018年、デジタルトランスフォーメーションはもはや流行語ではなく、あらゆる分野で静かに始まっていま...

WordPressは世界のウェブサイトの19%の基本プラットフォームとなっている

Sina Technology News、北京時間7月28日朝のニュースによると、Automatti...

グローバルB2C電子商取引サイトの革新的モデルと関連事例の研究

The Inspirations of Business は、ビジネス イノベーションのトレンドを研...

エッジ分析がスマートコンピューティングを推進する方法

[[350617]]エッジ コンピューティングと IoT デバイスをリアルタイム分析に活用することは...

ウェブサイトの最適化は双方に利益のある協力が王道

現在、あらゆる分野でウィンウィンの協力が重視されています。インターネットが急速に発展する時代において...

Pacificrack: 中秋節フラッシュセール、複数の高構成 VPS が年間 13.15 ドルから

中秋節期間中、Pacificrack は VPS フラッシュセールを開始しました。多くの高構成 VP...

オムニチャネルプロモーション | 効果的なユーザーインタラクション戦略を見つけるには?

技術トレンドの発展に伴い、顧客中心の統合運用モデルは、全チャネルの顧客のONE_IDデータを接続し、...

v5server: 香港 + 米国データセンター、高品質の CN2 ネットワーク クラウド サーバー、30% 割引、月額 35 元から

v5net は現在、高品質の BGP+CN2 ネットワークを使用する香港と米国のクラウド サーバーで...

Dell OptiPlex 960は雰囲気のある企業イメージを創出します

DELL OptiPlex 960 は、商業および中規模企業ユーザーを対象に新たに発売されたデスクト...