Kubernetes マニフェスト スタジオ(Kubernetes Studio)

Deployment・Service などの YAML を貼ると、リソースの一覧と Service がどの Deployment の Pod に当たるかを表示し、廃止された apiVersion、latest タグ、requests・limits の不足、privileged などの設定を行番号つきで指摘します。スキーマの完全な検証はしません。クラスタへ適用する前の目視確認の補助です。

端末内で処理・アップロードなしスマホ対応オフライン対応

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

貼り付けた YAML は端末の中だけで処理し、サーバーへ送らず保存もしません。スキーマの完全な検証はしません(指摘は公式の廃止 API 一覧と Pod Security の一部に基づく項目です)。

YAML ファイルをドロップ

または

テキストファイル 1 つ(200 KB まで)。内容は送信されません。貼り付け(Ctrl+V)にも対応
YAML を貼り付けるか、ファイルをドロップすると、リソースの一覧と指摘が出ます。

使い方

  1. deployment.yaml

    YAML を貼る(複数可)

  2. Service の対応行番号つき

    リソースの対応と指摘

  3. deployment.yaml(整形後)キーの順序はそのまま

    整形して保存

マニフェストを貼り、対応を見て指摘を確かめ、整形して保存する流れ
  1. YAML を貼り付けるか、ファイルをドロップします(「ファイルを選択」でも可)。「サンプルで試す」でも動作を確認できます。

  2. リソースの一覧で apiVersion・kind・名前・namespace・ラベルを確かめます。Deployment の中のコンテナのイメージ・ポート・env の名前・リソースも表示します。

  3. 「指摘」で重要度つきの一覧を見ます。廃止 API と Deployment のセレクターの不一致は high、そのほかは medium か low です。

  4. 「整形」でインデントを揃えた YAML を保存できます。構文エラーがあるときは整形しません。

できること

公式の廃止 API に基づく指摘

Kubernetes の Deprecated API Migration Guide にある「削除された apiVersion と kind の組み合わせ」だけを判定します。削除された版(1.16・1.22・1.25・1.26・1.29)も表示します。

Service と Deployment の対応

Service の selector が Pod テンプレートのラベルに当たる Deployment を表示します。当たらない selector、targetPort がコンテナのポートにない場合も指摘します。

Pod Security の項目を確認

privileged・hostNetwork・hostPath(baseline)と、runAsNonRoot・allowPrivilegeEscalation(restricted)の設定を、Pod Security Standards に沿って確かめます。

env の値は表と指摘に出さない

env の値に秘密らしい形(AWS のキー形式、PEM 鍵など)や、PASSWORD・TOKEN などの名前の直書きがあれば指摘します。表と指摘では名前だけを出し、値は出しません。「整形」は YAML をそのまま出すので、値も含まれます。

行番号つきの整形

複数ドキュメントを --- で区切ったまま、キーの順序を変えずにインデントを揃えて保存できます。

こんなときに

  • クラスタに適用する前に、廃止された apiVersion(extensions/v1beta1 など)が残っていないか確かめたい
  • Service の selector が Deployment のラベルに当たっているか、目で追わずに確かめたい
  • Pod の securityContext(privileged・runAsNonRoot など)の設定を、公開前に見直したい
  • Helm などで出した YAML の env に、パスワードを直接書いていないか確かめたい

対応状況

機能対応補足
複数ドキュメントの読み取り・リソース一覧対応—
廃止 API の検出(公式の移行ガイドの組み合わせだけ)一部対応一覧にない組み合わせや、新しく廃止された API は判定しません
Service と Deployment の selector・targetPort の対応対応—
Pod Security(privileged・hostNetwork・hostPath・runAsNonRoot など)の確認一部対応baseline と restricted の一部だけです
latest タグ・requests/limits・プローブの確認対応ベストプラクティスの確認です(Kubernetes の必須ではありません)
スキーマの完全な検証(フィールド名・型の全体)非対応スキーマの完全な検証はしません
クラスタへの適用・既存リソースとの比較・kubectl の実行非対応通信しません。kubectl は実行しません
Helm・Kustomize のテンプレートの展開非対応展開済みの YAML を貼ってください

制限・注意事項

  • 入力は 300,000 文字まで、ドキュメントは 50 件までです。超えた分は読み止めて通知します。
  • スキーマの完全な検証はしません。フィールド名の誤字や型の誤りは、指摘されなくてもクラスタが拒否することがあります。
  • Pod Security の確認は baseline と restricted の一部だけです。適用する名前空間の Pod Security 設定は確認できません。
  • 指摘は公式のドキュメントに沿う項目だけです。Kubernetes のバージョンによって、廃止の時期や推奨は変わります。

プライバシーと安全性

貼り付けた YAML はお使いの端末の中だけで処理され、サーバーへ送信・保存されることはありません。ブラウザに保存もしません。使用状況の記録にも内容やファイル名は含めません。

よくある質問

extensions/v1beta1 の Deployment はいつ使えなくなりましたか?
公式の移行ガイドでは Kubernetes 1.16 で削除されています。このツールは一覧にある組み合わせを、その削除された版とともに指摘します。
Service が Pod に届かないときは何を見ればよいですか?
Service の selector が Deployment の Pod テンプレートのラベルと一致しているか、targetPort がコンテナのポートにあるかを確かめてください。このツールはその対応を表示します。
resources や probe がないと、どうなりますか?
この画面では指摘しますが、適用はできることもあります。ただし requests・limits がないと、スケジューリングや資源の上限の制御が働きにくくなります。
指摘がなければ、クラスタに適用できますか?
わかりません。スキーマの完全な検証はしないので、kubectl apply --dry-run=server などでクラスタ側の確認も併用してください。
Secret の値はどう書けばよいですか?
YAML に直接書かず、Secret を作って secretKeyRef で参照します。Secret の値は base64 で、暗号化ではないことに注意してください。

Docker Compose Studio

docker run のコマンドを compose.yaml に、compose.yaml を docker run に変換します。compose.yaml は構文・Compose Specification・よくある誤りを調べ、セキュリティ上の確認点も一覧にします。コンテナの起動やイメージの取得はせず、入力は端末の外へ送りません。

アップロードなし

Dockerfile Studio

Dockerfile を貼り付けると、構文・ステージ・よくある誤りを調べ、秘密らしい値や curl | sh などの確認したい点を一覧にします。整形と、Node.js・Python・Go・静的サイト・Java の雛形の生成もできます。ビルドはせず、入力は端末の外へ送りません。

アップロードなし

YAML / TOML 検証・整形・変換(YAML / TOML Studio)

YAML・TOML・JSON を貼り付けるだけで構文チェック・整形・相互変換。エラーは行と列で示し、「no が false になる」などの型の落とし穴と、変換で失われるものを事前に警告します。データは端末の外へ送信しません。

アップロードなし

lockfile 比較・依存関係ツリー

2 つの lockfile を比べて、どのパッケージが追加・削除・更新されたかを表示します。あるパッケージがなぜ入っているか(入ってくる経路)と、同じパッケージの複数バージョンも分かります。ファイルはブラウザの外へ出ません。

アップロードなし

.env スタジオ(.env Studio)

.env を貼る・ドロップすると、キーと値を表で確認でき、重複・空の値・書式の誤りを行番号つきで指摘します。値は既定で伏せ、.env と .env.example を比べたり、.env.example・Kubernetes の Secret に書き出したりできます。.env の書き方(dotenv 形式)を確かめたいときに使い、docker compose の変数展開などツール固有の細かい仕様までは判定しません。

アップロードなし

nginx Config Studio

リバースプロキシ・SPA・PHP-FPM・HTTP から HTTPS への転送などの設定をフォームから作り、手元の nginx.conf を貼ると構文エラーや見落としやすい点を一覧にします。ブラウザの中だけで動き、nginx は実行しません。

アップロードなし

最終更新: