0Pricing
DevOps Bootcamp · レッスン

標準の 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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. define で Partial を定義する
  2. template と include で Partial を挿入する
  3. 標準の Fullname と Labels Helper
  4. 名前付き Template に Scope を渡す
← DevOps Bootcampに戻る