Contents
Helmとは?
Helmは、言うなればUbuntuにおけるapt、nodeにおけるnpmのような、Kubernetes向けのパッケージマネージャです。
最初の理解のために
Helm、ひいてはKubernetesは、独特の言葉が多くて初めは戸惑いがちです。そんな中、@MahoTakara様のQiita記事にあるように、3つに分けておさえておくとわかりやすかったので紹介します。
- チャート(chart)は、Helmのパッケージ。
- リポジトリ(repository)は、チャートを集め共有するための場所。
- リリース(release)は、Kubernetes上で実行されているチャートの「インスタンス」。
チャート・リポジトリ・リリース。この3概念を要素として、Helmは成り立っています。ちなみに、helmは船舶などで使う「舵」、chartは「海図」の意味です。Docker周りは海系の見立てがよく効いていて面白いですね。
さらに、これは私のオリジナルなネーミングですが、helmのCLIについては「リポジトリ系」「リリース系」と分けて考えると理解しやすいかと思います。
Helm CLI
リポジトリ系
helm repo add
指定したチャートをリポジトリに追加します。
$ helm repo add jupyterhub https://jupyterhub.github.io/helm-chart"jupyterhub" has been added to your repositories
helm repo list
リポジトリに追加済みのチャートのリストを表示します。
$ helm repo listNAMEURL jupyterhubhttps://jupyterhub.github.io/helm-chart
helm repo remove
リポジトリにあるチャートを削除できます。リリース系「helm uninstall」と少し違うので注意です。
$ helm repo remove jupyterhub"jupyterhub" has been removed from your repositories
リリース系
helm install
指定したチャートを「インスタンス」として実体化します。サイトによっては”deploy the chart”などと表現されることもあります。
$ helm install jupyterhub-instance ./jupyterhub
helm list
リリースしたチャートのリストを表示します。`helm repo list`と似ているので注意です。
$ helm list
helm uninstall
リリースしたチャートを削除します。もとはhelm delete
というコマンドでしたが、リネームされました。
$ helm uninstall jupyterhub