Service Template を追加する
Template 化した Service でワークロードを公開します。
「Service Template を追加する」はCoddyKit上の無料Helm Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHelm Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Helm Academyコースには全4レッスンが含まれています。
Service が必要な理由
Pod には常に新しい IP アドレスが割り当てられます。Service はワークロードに安定したアドレスを 1 つ提供し、他のコンポーネントから確実にアクセスできるようにします。
2 つ目のテンプレートファイル
Deployment のテンプレートの隣に templates/service.yaml を追加します。Helm は templates 内のすべてのファイルをレンダリングするため、両方が一緒にデプロイされます。
Service の基本構造
Service は、どのマニフェストでも同じように apiVersion、kind: Service、metadata から始まります。リリース名によって、このインストールに関連付けられます。
apiVersion: v1
kind: Service
metadata:
name: {{ .Release.Name }}セレクターで Pod を関連付ける
Service は selector を使って Pod を検出します。Deployment の Pod に付けたラベルと一致していなければ、トラフィックは流れません。
spec:
selector:
app: {{ .Release.Name }}Service の種類を選ぶ
type をパラメーター化して、ユーザーが ClusterIP、NodePort、LoadBalancer のいずれかを選べるようにします。ClusterIP は安全なクラスター内デフォルトです。
type: {{ .Values.service.type }}values の type にデフォルト値を設定する
service.type にデフォルト値を設定すると、通常のインストールですぐに動作します。Service の設定を 1 つのキーの下にまとめると、整理された状態を保てます。
# values.yaml
service:
type: ClusterIP
port: 80ポートを割り当てる
port はクライアントが Service に接続するポートです。values に接続して、インストールごとに異なるポートを公開できるようにします。
ports:
- port: {{ .Values.service.port }}コンテナポートを指定する
targetPort はコンテナが待ち受けるポートです。nginx は 80 番ポートでサービスを提供するため、Service 上のトラフィックはそこに転送されます。
ports:
- port: {{ .Values.service.port }}
targetPort: 80コンテナポートを宣言する
明確にするため、Deployment の containerPort に Pod が開くポートを記述します。意図が文書化され、ツールからも扱いやすくなります。
ports:
- containerPort: 80Service 仕様の全体像
ここまでを組み合わせます。セレクターが Pod と一致し、ポートと種類が values から取得される、テンプレート化された Service です。
spec:
type: {{ .Values.service.type }}
selector:
app: {{ .Release.Name }}
ports:
- port: {{ .Values.service.port }}
targetPort: 80両方のテンプレートをレンダリングする
helm template を実行し、Helm が --- で区切られた 2 つのドキュメント、Deployment と新しい Service を出力することを確認します。
helm template web .クイックチェック
Service から Pod にトラフィックが送られません。最も可能性の高い原因は何ですか。
振り返り: アプリを公開する
Service テンプレートを追加しました。セレクターは Pod と一致し、種類とポートは values から取得され、targetPort はコンテナを指しています。🚀
よくある質問
「Service Template を追加する」レッスンは無料ですか?
はい。「Service Template を追加する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Helm Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Helm Academyコースには全4レッスンが含まれています。
「Service Template を追加する」で何を学びますか?
Template 化した Service でワークロードを公開します。 ブラウザで直接実行するハンズオンコードでHelm Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Helm Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHelm Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Service Template を追加する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHelm Academyレッスンでコードを書いて実行できますか?
はい。すべてのHelm Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 最小構成の Deployment Template
- コンテナイメージをパラメーター化する
- Service Template を追加する
- Chart のインストールと反復開発