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
ディスカッション
コメント一覧
まだ、コメントがありません