Values オブジェクトとネストしたアクセス
ツリーの深い位置にあるユーザー設定を読み取ります。
「Values オブジェクトとネストしたアクセス」はCoddyKit上の無料Helm Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHelm Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Helm Academyコースには全4レッスンが含まれています。
Values オブジェクトを知る
テンプレート内では、.Values にチャートの values.yaml のすべての設定と、渡した上書き値が格納されます。これは設定ツリーです。
トップレベルキーを読み取る
replicaCount のようなトップレベルキーは .Values.replicaCount になります。ドットでつないだパスは YAML の構造をそのまま反映します。🌳
# values.yaml
replicaCount: 3
# template
replicas: {{ .Values.replicaCount }}ネストされたマップを掘り下げる
値がネストされている場合は、ドットを連結します。key タグを持つ image マップには、.Values.image.tag として、階層ごとに 1 つのセグメントを指定してアクセスします。
# values.yaml
image:
repository: nginx
tag: "1.27"
# template
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}キーでは大文字と小文字が区別される
パスの各セグメントは、YAML のキーと 1 文字ずつ一致していなければなりません。.Values.Image は .Values.image とは異なり、空としてレンダリングされます。
存在しないキーは空にレンダリングされる
存在しない値を要求しても、デフォルトではエラーになりません。Helm は何もレンダリングしないため、無効な YAML が気付かないうちに生成される可能性があります。
ハイフンを含むキーには index が必要
ハイフンを含むキーではドット記法が機能しません。代わりに、キーを引用符で囲んだ文字列として指定し、index 関数でアクセスします。
# values.yaml
service-port: 8080
# template
port: {{ index .Values "service-port" }}デフォルト値の由来
チャートの作成者は、values.yaml に適切なデフォルト値を用意します。ユーザーが上書きしない限り、そこにあるすべてのキーを .Values から利用できます。
.Values に上書き値が反映される仕組み
ユーザーの --set フラグまたは -f ファイルは、レンダリング前にデフォルト値の上にマージされます。テンプレートの実行時には、.Values が最終的にマージされたツリーになります。
helm install web ./mychart --set replicaCount=5リストも .Values の下にある
YAML のリストは、.Values の下ではスライスになります。単一のドットパスで読み取るのではなく、range で反復して項目を繰り返しレンダリングします。🔁
# values.yaml
ports:
- 80
- 443値を安全にクォートする
数値やブール値はそのままレンダリングされるため、YAML が壊れる可能性があります。ユーザーが入力した文字列を quote 関数で囲み、正しいテキストのまま保持してください。
tag: {{ .Values.image.tag | quote }}使う前にツリーを確認する
チャートに対して helm show values を実行すると、values ツリー全体を出力できます。その出力が、.Values で指定する正確な形です。
helm show values ./mychartクイックチェック
ハイフンを含む service-port という名前の values キーが必要です。
まとめ:Values ツリー
.Values はマージ済みの設定ツリーであり、ドット区切りのパスで、大文字と小文字を区別してアクセスすることを学びました。扱いにくいキーには index を使用します。helm show values で確認できます。
よくある質問
「Values オブジェクトとネストしたアクセス」レッスンは無料ですか?
はい。「Values オブジェクトとネストしたアクセス」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Helm Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Helm Academyコースには全4レッスンが含まれています。
「Values オブジェクトとネストしたアクセス」で何を学びますか?
ツリーの深い位置にあるユーザー設定を読み取ります。 ブラウザで直接実行するハンズオンコードでHelm Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Helm Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHelm Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Values オブジェクトとネストしたアクセス」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHelm Academyレッスンでコードを書いて実行できますか?
はい。すべてのHelm Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Values オブジェクトとネストしたアクセス
- .Release による Release メタデータ
- Chart オブジェクトと Capabilities オブジェクト
- Files、Template、Root Context