Helm とは?

Helm

Helm最新情報

NRIのOpenStandiaが提供するHelm最新情報

OSSの保守サポートサービスの内容はこちら OSSの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Helmバージョンアップ情報

すべてを見る

更新日:2022-10-18

Helmの概要

Helm(ヘルム)は、Kubernetesクラスタのためのパッケージマネージャで、Kubernetes向けパッケージマネージャとして現在最も人気のある製品となっています。
HelmはDeis社(2017年にマイクロソフト社が買収)のプロジェクトの一つで、2015年に開催された最初の KubeCon(The Kubernetes Community Conference) において Helm Classic として発表されました。Helmプロジェクトは2016年1月にKubernetesプロジェクトと統合され、Kubernetesのサブプロジェクトとなりました。そして、2016年後半にHelm 2.0、2018年6月にHelm 3.0がリリースされ、本格的な CNCF(Cloud Native Computing Foundation)プロジェクトに昇格しています。

TOPに戻る

Helmの主な特徴

HelmはGo言語で記述されており、Helmクライアント、Helmライブラリの2つのコンポーネントで構成されます。
HelmはHelmクライアントを介して、Kubernetes上で動作するアプリケーションをLinuxのyumコマンドのようにインストール(デプロイ)、アンインストールすることが出来ます。アプリケーションの管理は、チャート(Chart)と呼ばれるパッケージ化された設定ファイルを使用して行います。チャートにはアプリケーションそのものは含まれておらず、アプリケーションの構築に必要な情報が記載されています。なお、Artifact Hub というサイトには各種のチャートが公開されており、使用することが可能です。

Helmライブラリは、Kubernetes クライアントライブラリを使用してKubernetesと通信します。通信にはREST + JSONが使用されます。独自のデータベースは不要で、Kubernetesのシークレットにデータを保持します。

Helm の基本的な概念として以下が挙げられます。

  • チャート:アプリケーションのインスタンスを作成するために必要な設定ファイル群です。
  • コンフィグ:チャートインストール時にアプリケーションのための各種パラメータを設定するためのものです。
  • リリース:チャートがインストールされ、アプリケーション(リリースオブジェクト)が実行可能な状態になったインスタンスをリリースと呼びます。

Helmは以下のことが出来ます。

  • チャートの新規作成
  • チャートをチャートアーカイブ(tgz)にパッケージ化する
  • チャートが保存されているチャートリポジトリを操作する
  • Kubernetes クラスタにチャートをインストール、アンインストールする
  • Helmでインストールしたチャートのリリースサイクルを管理する
Helmクライアントとライブラリの役割はそれぞれ以下になります。

Helmクライアント

エンドユーザー向けのコマンドラインプログラムで以下を担当します。

  • ローカルチャートの開発
  • リポジトリの管理
  • リリースの管理
  • Helmライブラリと連携し、チャートを送信したり、リリースのアップグレードやアンインストールの要求を行います。

Helmライブラリ

全てのHelmの操作を Kubernetes API と連携して実行します。

  • チャートからリリースオブジェクトを作成する
  • リリースオブジェクトを構築し、Kubernetesにインストールする
  • リリースオブジェクトのアップグレードやアンインストールを行う

TOPに戻る

Helmと同様のツール

Helmと同様のツールにはKsonnet、Kapitan、Kustomize、kompose、Ansibleがあります。

TOPに戻る

Helmコマンドの例

helm install チャートをインストールします。
helm list リリースの一覧を表示します。
helm pull チャートをダウンロードしローカルに展開します。
helm repo add チャートリポジトリを追加します。
helm repo list チャートリポジトリ一覧を表示します。
helm search チャートを検索します。
helm show チャートの詳細を表示します。
helm uninstall リリースを削除します。
helm upgrade 新しいチャートにアップグレードします。

TOPに戻る

Helmの動作環境

helm は各OS向きのバイナリが用意されており、ダウンロードしてインストールすることができます。V3.7.1では下記のパッケージが用意されています。

  • MacOS amd64
  • MacOS arm64
  • Linux amd64
  • Linux arm
  • Linux arm64
  • Linux i386
  • Linux ppc64le
  • Linux s390x
  • Windows amd64
その他のスクリプトによるインストール方法なども存在しております。詳細は下記を参照して下さい。
https://helm.sh/docs/intro/install/

TOPに戻る

Helmのライセンス

Helmのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

TOPに戻る

Helmの参考情報

Helm公式サイト
GitHubリポジトリー
Artifact Hub

TOPに戻る

Helmのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO