最小構成の Deployment Template
静的なマニフェストを Chart Template に変換します。
「最小構成の Deployment Template」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
静的マニフェストからテンプレートへ
チャートは単なるtemplatesフォルダーです。各テンプレートはKubernetesマニフェストであり、インストール時にHelmがプレースホルダーを埋め込みます。
まず通常のDeploymentから始める
いきなり高度な機能を追加する前に、すでに分かっているマニフェストを書きましょう。ここでは、nginx Podを1つ実行するハードコードされたDeploymentを使います。
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 1
selector:
matchLabels:
app: my-apptemplatesに配置する
そのファイルをチャート内のtemplates/deployment.yamlとして保存します。templates内のすべてがレンダリングされ、クラスターに送信されます。
リリース名は動的になる
名前をハードコードすると壊れやすくなります。Helmはリリース名を.Release.Nameとして公開するため、インストールごとに一意の識別情報が与えられます。
metadata:
name: {{ .Release.Name }}values.yamlから値を取得する
ユーザーが変更できる設定はvalues.yamlに記述し、.Valuesを通じて読み取ります。これにより、レプリカ数を固定値ではなく設定可能にできます。
spec:
replicas: {{ .Values.replicaCount }}デフォルト値を定義する
.Values.replicaCount を解決できるように、values.yaml にデフォルト値を設定します。ユーザーは後からテンプレートを変更せずに上書きできます。
# values.yaml
replicaCount: 1セレクターはラベルと一致させる
Deployment の selector は、Pod テンプレートのラベルと完全に一致している必要があります。一致しない場合、Kubernetes に拒否されます。すべての場所で同じラベルを一貫して再利用してください。
selector:
matchLabels:
app: {{ .Release.Name }}Pod テンプレートのセクション
spec.template の内部では、実際の Pod、つまりラベルとコンテナを記述します。これは Helm がクラスターにデプロイするワークロードです。
template:
metadata:
labels:
app: {{ .Release.Name }}
spec:
containers: []コンテナを追加する
各コンテナには name と image が必要です。今はイメージをハードコードしていますが、次のレッスンでパラメーター化します。
containers:
- name: app
image: nginx:1.27レンダリングして確認する
helm template . を実行すると、クラスターを使わずに Helm がローカルで生成する最終的な YAML を確認できます。インストールする前に内容を確認してください。
helm template my-release .最小テンプレートの全体像
これらを組み合わせると、小さいながらも実際に使える Deployment template になります。名前とラベルはリリースによって決まり、レプリカ数は values によって決まります。
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
app: {{ .Release.Name }}クイックチェック
インストールしたリリースの一意な名前を提供する組み込みオブジェクトはどれですか。
振り返り: 最初のテンプレート
静的な Deployment をテンプレートに変換しました。識別には .Release.Name を、設定には .Values を使います。helm template でレンダリングして確認してください。🎉
よくある質問
「最小構成の Deployment Template」レッスンは無料ですか?
はい。「最小構成の Deployment Template」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「最小構成の Deployment Template」で何を学びますか?
静的なマニフェストを Chart Template に変換します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「最小構成の Deployment Template」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 最小構成の Deployment Template
- コンテナイメージをパラメーター化する
- Service Template を追加する
- Chart のインストールと反復開発