標準の Fullname と Labels Helper
helm create が用意する一般的な Helper を読み解きます。
「標準の Fullname と Labels Helper」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
最初から使えるヘルパー
helm createで作成したすべてのchartには、すぐに使えるpartialが多数入った_helpers.tplが含まれています。これらを知っておくと、名前やラベルを一から作り直さずに済みます。
nameヘルパー
chart.name partialはchartのベース名を返し、valuesで上書きできるようにします。他のヘルパーの基礎となるものです。
{{- define "mychart.name" -}}
{{- default .Chart.Name .Values.nameOverride -}}
{{- end -}}fullnameヘルパー
chart.fullname partialは一意なリソース名を作成します。通常はリリース名とchart名を連結するため、インストール時に名前が衝突しません。
name: {{ include "mychart.fullname" . }}fullnameで切り詰める理由
Kubernetesの名前は63文字までです。fullnameヘルパーは結果にtruncとtrimSuffixを適用し、この制限内に収めます。
{{ ... | trunc 63 | trimSuffix "-" }}chartラベルヘルパー
chart.chart partialは、helm.sh/chartラベル用に名前とバージョンを組み合わせた文字列を返します。どのchartバージョンがリソースを生成したかを記録できます。
helm.sh/chart: {{ include "mychart.chart" . }}共通ラベル
chart.labels partialは、managed-by、chartラベル、バージョン、セレクターラベルを組み合わせた、推奨される完全なラベルセットを出力します。
metadata:
labels:
{{- include "mychart.labels" . | nindent 4 }}セレクターラベルは別管理
chart.selectorLabels partialには、Podとの照合に使う変更不可の2つのラベルだけが含まれます。Deploymentのセレクターが壊れないよう、値は一定に保たれます。
app.kubernetes.io/name: {{ include "mychart.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}ラベルヘルパーが2つある理由
完全なラベルには、アップグレードで変わるバージョンが含まれます。セレクターラベルは決して変更してはいけないため、Helmでは別の小さなpartialとして管理します。
serviceAccountNameヘルパー
生成されたchartにはchart.serviceAccountNameも定義されています。これは、サービスアカウントを作成するかどうかに応じて、適切なアカウント名を選択します。
serviceAccountName: {{ include "mychart.serviceAccountName" . }}書き直さずに再利用する
マニフェストを作成するときは、名前やラベルを手書きする代わりに、これらの標準ヘルパーを呼び出してください。Kubernetesのベストプラクティスを自動的に取り入れられます。
_helpers.tplを読む
helm createで生成されたファイルを開き、それぞれのdefineを読んでください。これらの少数のpartialを理解すれば、今後出会うほとんどのchartを読み解けるようになります。
クイックチェック
Deploymentのselector.matchLabelsでは、どのヘルパーを参照すべきでしょうか。
まとめ: 標準ヘルパー
helm createが提供するfullname、labels、selectorLabelsヘルパーについて学びました。一貫性のある慣用的な出力になるよう、マニフェスト内で呼び出してください。🏷️
よくある質問
「標準の Fullname と Labels Helper」レッスンは無料ですか?
はい。「標準の Fullname と Labels Helper」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「標準の Fullname と Labels Helper」で何を学びますか?
helm create が用意する一般的な Helper を読み解きます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「標準の Fullname と Labels Helper」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- define で Partial を定義する
- template と include で Partial を挿入する
- 標準の Fullname と Labels Helper
- 名前付き Template に Scope を渡す