Helm 3.0 - 3 install / customized install / uninstall
Page content
Helm 3.0 が GAになったので 色々やってみる。その3
今日のお題はここの続き Using Helm
チャートのインストールとアンインストールについて
チャートのインストール
既に前にあったけど、基本は以下
helm install RELEASE_NAME CHART_NAME
このコマンドそのものはすぐに終わる。その後で様々なKubernetesオブジェクトの作成が走る事になる。
インストールすると構成情報等が表示されるけど、helm status RELEASE_NAME でもう一度表示可能
チャートレポジトリにまとめられていなくても、いくつかの方法でインストール可能
# ローカルパッケージファイル指定
helm install RELEASE_NAME mychart-0.1.0.tgz
# チャートディレクトリ指定
helm install RELEASE_NAME work/mychart
# パッケージダウンロードURL指定
helm install RELEASE_NAME https://example.com/charts/mychart-0.1.0.tgz
インストールのカスタマイズ
チャートには カスタマイズ可能な設定値(values)があるので、それを事前に設定してカスタマイズ出来る
チャートで設定可能な値を確認する
helm show values CHART_NAME
この出力をリダイレクトしたものを編集して yaml を作ってもよいけど、設定する値が少ない場合には 設定したい値だけでも設定可能。
ユーザ設定値を使ってインストールする
helm install RELEASE_NAME CHART_NAME -f config.yaml
設定を yamlファイルに書き込んで install時に -f で渡してやる
コマンドラインからユーザ設定値を渡す
helm install RELEASE_NAME CHART_NAME --set KEY=VALUE
–setは -fの config.yamlよりも優先順位が高いためオプションの指定順序に関わらず–setの値で上書きされる。
–setでの指定を容易にする意味で values.yamlについてはあまり深いネストをさせるべきではないでしょう。
リリースのユーザ設定値を確認する
インストール後にユーザ設定値を確認したい場合は get values を使う
helm get values RELEASE_NAME
例
$ echo -n "5uper5ecretPassword" > /tmp/dbrootpassword
$ cat << EOF > config.yaml
rootUser:
password: $(cat /tmp/dbrootpassword)
EOF
$ helm install mymaria stable/mariadb -f ./config.yaml
NAME: mymaria
LAST DEPLOYED: Sat Nov 30 15:49:07 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
Please be patient while the chart is being deployed
... snip ...
$ helm get values mymaria
USER-SUPPLIED VALUES:
rootUser:
password: 5uper5ecretPassword
$ kubectl get secret mymaria-mariadb -o json
{
"apiVersion": "v1",
"data": {
"mariadb-replication-password": "QzhNcG1RZTUzdQ==",
"mariadb-root-password": "NXVwZXI1ZWNyZXRQYXNzd29yZA=="
},
"kind": "Secret",
"metadata": {
"creationTimestamp": "2019-11-30T06:49:07Z",
"labels": {
"app": "mariadb",
"chart": "mariadb-7.1.0",
"heritage": "Helm",
"release": "mymaria"
},
"name": "mymaria-mariadb",
"namespace": "default",
"resourceVersion": "505562",
"selfLink": "/api/v1/namespaces/default/secrets/mymaria-mariadb",
"uid": "eaccb189-1c31-4386-9d41-5eafbcc5e60d"
},
"type": "Opaque"
}
$ echo "NXVwZXI1ZWNyZXRQYXNzd29yZA==" | base64 -d
5uper5ecretPassword
うーん、これ helmの user-supplied valuesってどこに記録されてるんだろう? 暗号化されてるんだろうか。
追記: 記録されるのはSecretの中でした。