Helmについて
概要
- HelmとはオープンソースのKubernetesパッケージマネージャ
- 2015年にDeisで作成され、Microsoftに買収された
- 2020年4月にCNCFのGraduatedステージに認定された
- 参考:CNCFについて
用語
- Chart
- Kubernetesのパッケージ(またはHelmのパッケージ)
- homebrew formula、Apt dpkg、Yum rpmファイルと同じような概念
- アプリケーションを実行するために必要なresource definitionをすべて含む
- Kubernetesのパッケージ(またはHelmのパッケージ)
- Repository
- Chartの置き場所(Chart repositoryとも呼ばれる)
- PerlのCPAN archiveやFedora Package Databaseのようなもの
- Chartの置き場所(Chart repositoryとも呼ばれる)
- Release
- Kuberentes Clusterで実行されているChartのインスタンス
- Kubernetes clusterにインストールされるたびに、一つのReleaseが作成される
- (Config)
- Releaseオブジェクトを作成するために、Chartにマージできる構成情報
Chart/Repository/Relaseの関係性
大まかな流れ

- Chartの用意
- ローカルにあるRepositoryに対して、
helm repo addでArtifact HubからChartを追加する - または、ローカルにChartに必要なファイルを用意する
- 自作で作るなら、
helm createコマンドで必要なファイル群を生成できる - Githubにあるソースがあってそれをcloneしてくるパターンも
- 自作で作るなら、
- ローカルにあるRepositoryに対して、
- Kubernetes Clusterにインストールし、Releaseを作成
helm installコマンドで、ChartをKubernetes Clusterにインストール(kubectlコマンドの指すcontextにインストールされる)helm installをするたびに新しいReleaseができる
- Chartの内容を変更したら、Releaseを更新
helm upgradeコマンドで更新したいReleaseを特定し、Releaseを更新する
- Releaseを使わなくなったら、アンインストールする
helm uninstallコマンドでReleaseをアンインストールする
- RepositoryにどんなChartがあるかは、
helm searchコマンドや、helm repo listコマンドで確認可能 - Artifact HubにどんなChartがあるかは、
helm search hubコマンドで確認可能 - 自作のChartをArtifact Hubに上げたいときは、
helm packageコマンドで.tgzファイル(Archiveファイル)を作成後、helm pushコマンドでプッシュできる helm updateは、RepositoryのChart情報を更新する(特定のChartのみ更新することもできる)
コマンド
全コマンドはこちら
図に記載したコマンド
- helm repo update
- helm repo remove
- helm create
- helm package
- helm search repo
- helm search hub
- helm repo list
- helm repo add
- helm install
- helm uninstall
- helm upgrade
- helm push







ディスカッション
コメント一覧
まだ、コメントがありません