Kubernetes / Helm

Kubernetesマニフェスト生成必要なフィールドから構成を組み立てる

種類を選ぶと、そのリソースだけ、またはコンテナに挿入するプローブ断片を表示します。

Kubernetesマニフェスト生成

リソースの入力

生成されたYAML

入力はこのブラウザー内で処理し、クラスタやサーバーへ送信しません。

オプション

Kubernetes 1.34のテンプレート:apps/v1、v1、networking.k8s.io/v1、batch/v1。Probeはコンテナ断片です。

例は出発点です。リソース、安全性、ストレージを補ってください。クラスタやイメージを検証しません。

名前は小文字の英字で始め63文字以内(CronJobは52文字)。ポート1–65535、レプリカ0–1000。プローブの時間は86400秒、失敗回数は1000以下です。

環境変数はKEY=valueを50行まで。ConfigMapとSecretは既存名の参照のみ。テキストは20000文字、コマンドは各4096文字以内の32要素までです。

生成中…

新しいワークロードのマニフェスト作成では、名前だけ変更してセレクターを直し忘れがちです。Kubernetesマニフェスト生成はDeploymentのセレクターとPodラベルを同じ値から作ります。種類を切り替えても別のフォーム値は残り、出力には選択中のリソースだけが含まれます。

Deployment YAML、Serviceセレクター、Ingressのバックエンド、定期実行の定義をそれぞれ確認できます。このYAMLジェネレーターが表示するのは入力から作ったテキストです。別々に保存したファイルの名前や名前空間まで自動で同期するものではなく、クラスタの現在状態も表示しません。

Kubernetesマニフェスト生成で構造を確認する

一つずつ構造を読む

Kubernetesマニフェスト生成ではDeploymentのPodテンプレート、Serviceのポート対応、IngressのService参照を別々に扱います。種類ごとの階層が見えるため、まだ設定していない別のリソースをまとめて出力することなくレビューできます。

フォームの値が一つの階層付きマニフェストに対応する図。

プローブの置き場所を区別する

readinessProbe、livenessProbe、startupProbeはコンテナ内のフィールドです。単独モードでは架空のkindを追加せず断片だけを出力します。Deploymentには選択した一つを組み込めます。ヘルスチェック用ポートは業務用ポートと異なることがあるため個別に指定します。

ヘルスチェックの断片をリソース内のコンテナに挿入する図。

参照先を合わせてから出力を確認

01

通信の順に名前を照合する

DeploymentのPodラベルはapp: リソース名です。Serviceのセレクターには同じ値を入れます。IngressにはService名とService側のポートを指定してください。コンテナのtargetPortとは異なる場合があります。

02

複数項目の編集には手動生成を使う

自動生成は編集が止まってから350ミリ秒後に実行します。スイッチを切ると生成ボタンまたはCtrl/Cmd+Enterで更新できます。古い結果は薄くなり、現在のフォームと一致するまでコピーとダウンロードを使えません。

03

例を読み込む前に置換内容を見る

サンプルとクリアは変更される項目数と新しい値を先に表示します。適用してから一度だけ元に戻せます。元のフォームと結果を一緒に復元します。CronJobのサンプルは常駐サーバーではなく終了するdateコマンドです。

生成されるフィールド

固定したAPIの形

Deploymentはapps/v1、Serviceはv1、Ingressはnetworking.k8s.io/v1、CronJobはbatch/v1です。確認対象はKubernetes 1.34の一部フィールドであり、すべてのバージョンや任意の構成を再現するエディターではありません。

環境変数の型を維持

KEY=valueを一行ずつ入力します。最初の等号だけで分割し、値の中の等号や空文字を保持します。重複名はエラーです。文字列を引用符で囲むため、yes、nullや数字に見える値もYAML 1.1で文字列として読めます。

設定とルーティングの参照

envFromには既存のConfigMapまたはSecret名を指定します。Ingressでは一つのホストとパス、PrefixまたはExact、クラス名、TLS Secret参照に対応します。参照先のオブジェクトや証明書、コントローラーは作成しません。

定期実行とヘルスチェック

CronJobは五つのフィールド、Etc/UTC、コマンド配列、同時実行ポリシーを出力します。HTTPまたはTCPプローブには独立したポートと時間を指定できます。successThresholdは1です。接続テストや次回実行時刻の計算は行いません。

テンプレートの範囲と制約

運用設定はアプリに合わせて追加
CPU・メモリー、securityContext、ストレージ、自動スケーリング、サイドカーは推測しません。イメージを取得できるか、権限やクォータを満たすか、Ingressコントローラーがあるかも確認しません。生成後にリポジトリ側で必要な設定を補ってください。
一回の出力は一つのオブジェクト
複数リソースの一括出力、既存YAMLの取り込み、Helm、Kustomize、CRDには対応しません。未対応フィールドを勝手に補うこともありません。プローブ断片はcontainersの一項目に挿入し、独立したリソースとして適用しないでください。
名前と数値の受け付け範囲
リソース名は小文字の英字で始め、小文字・数字・ハイフンのみで最大63文字、CronJobは52文字です。ポートは1–65535、副本数は0–1000、指定するNodePortは30000–32767です。独自のクラスタ範囲は別のエディターで設定します。
Cron方言と入力サイズ
数字の五フィールドに加え、星印、リスト、昇順範囲、星印や範囲に付けるステップのみを受け付けます。曜日は0–6です。秒、マクロ、曜日名は使えません。環境変数は50件、テキスト項目は20000文字、コマンドは32要素まで。日付が実際に訪れるかまでは判定しません。

Kubernetesマニフェスト生成のよくある質問

生成されるAPIバージョンは何ですか?

Kubernetes 1.34を基準にapps/v1、v1、networking.k8s.io/v1、batch/v1を使います。Probeはコンテナフィールドの断片なのでapiVersionを持ちません。API名が一致していても、対象クラスタの受け入れ条件まで保証するものではありません。

ServiceとDeploymentのPodをどう対応させますか?

ServiceはDeploymentの名前ではなくPodラベルで選択します。このフォームではDeploymentのPodにapp: 名前を付けます。Serviceのセレクターを同じ値にし、targetPortをアプリの待ち受けポートに合わせてください。

複数のリソースをまとめて生成できますか?

出力されるのは選択中の一種類だけです。DeploymentとServiceが必要なら別々に生成して確認してください。既に保存したファイル同士は自動更新されないため、名前、セレクター、名前空間の一致を確かめます。

コンテナの環境変数はどう設定しますか?

KEY=valueを一行ずつ記入するか、既存ConfigMapとSecretをenvFromで参照します。空文字も数値に見える文字も文字列のままです。参照欄は名前を書き出すだけで、依存オブジェクトの作成や内容の取得はしません。

生成したYAMLは確認せずに適用できますか?

先に内容をレビューし、対象環境で検証してください。Ingressにはコントローラーとバックエンド、CronJobには終了できるコマンドが必要です。リソース割り当てと安全性の設定も補います。例のイメージタグは可用性や安全性を保証しません。

生成したマニフェストに問題がありますか?

次のマニフェストを準備する

Kubernetesマニフェスト生成を使い、レビューで説明できる小さな変更を用意しましょう。kindと参照先を確認し、アプリ固有の設定を追加してから適用してください。