Kubernetesマニフェストバリデーター

KubernetesのYAMLマニフェストを貼り付けて、必須フィールドの確認、非推奨API、セキュリティ設定ミス、ベストプラクティス違反をチェックします。

このツールについて

Kubernetesマニフェストバリデーターは、Kubernetes YAMLマニフェスト用の 無料ブラウザベースリンターです。デプロイ失敗、セキュリティ脆弱性、 運用上の問題を引き起こす可能性のある一般的な設定ミスやベストプラクティス 違反をチェックします。

バリデーターは以下のカテゴリのチェックを実行します:

  • 必須フィールド: apiVersionkindmetadata.nameの存在を確認
  • APIバージョン検証: 非推奨APIバージョン(例:extensions/v1beta1)を検出し、 代替を提案
  • リソース制限: CPU/メモリのリクエストと制限がないコンテナを警告。 リソース枯渇やノイジーネイバー問題を防止
  • ヘルスチェック: コンテナのliveness・readinessプローブの欠如を指摘
  • セキュリティ: 特権コンテナ、rootで実行されるコンテナ、 securityContext設定の欠如を検出
  • イメージタグ: :latestタグの使用やタグなしイメージを警告
  • マルチドキュメント対応: ---で区切られた複数ドキュメントのYAMLファイルを処理

このツールはインデントの問題修正のためのYAMLフォーマッターや、 コンテナ設定生成のためのDocker Runビルダーを 補完します。YAMLとJSON間の変換が必要な場合は、 JSON/YAML変換ツールをお試しください。

すべての処理はブラウザ内で完全に実行されます。Kubernetesマニフェストが サーバーに送信されることはなく、本番設定、シークレット参照、内部サービス名 でも安全に使用できます。

使い方

  1. 左の入力パネルにKubernetesのYAMLマニフェストを貼り付けます。
  2. バリデーターが自動的にマニフェストを分析し、右パネルに結果を表示します。
  3. 色分けされた診断結果を確認します:はエラー、黄色は警告、は情報提案です。
  4. パネル下のResources Foundテーブルで、マニフェスト内のすべてのKubernetesリソースの概要を確認します。
  5. サンプルボタンを使用してサンプルマニフェストをロードし、バリデーターの動作を確認します。
  6. Copy ResultsをクリックするかCtrl+Shift+Cを押して、すべての診断結果をクリップボードにコピーします。
  7. マニフェストの問題を修正し、更新されたバージョンを貼り付けて再検証します。

人気のK8sマニフェスト検証例

すべてのK8sマニフェスト検証例を見る →

よくある質問

このバリデーターはどのようなチェックを行いますか?

バリデーターは以下をチェックします:必須フィールドの欠如(apiVersion、kind、metadata.name)、非推奨APIバージョン、リソースリクエストと制限の欠如、liveness・readinessプローブの欠如、root実行や特権モードのコンテナ、:latestイメージタグの使用、ラベルの欠如など。Kubernetesの最も一般的な設定ミスをカバーしています。

kubectl dry-runやAdmission Controllerの代わりになりますか?

いいえ。これはマニフェストをクラスターに適用する前に一般的な問題をキャッチするクライアントサイドリンターです。ライブクラスターAPIやカスタムアドミッションポリシーに対する検証は行いません。最初の防衛線としてこのツールを使用し、その後kubectl --dry-run=serverとクラスターのアドミッションWebhookで検証してください。

マルチドキュメントYAMLファイルに対応していますか?

はい。---(3つのダッシュ)で区切られた複数ドキュメントのYAMLファイルを貼り付けることができます。各ドキュメントは個別に検証され、Resources Foundテーブルにすべてのドキュメントのリソースが表示されます。

どのKubernetes APIバージョンが認識されますか?

バリデーターはv1、apps/v1、batch/v1、networking.k8s.io/v1、rbac.authorization.k8s.io/v1など、すべての標準Kubernetes APIバージョンを認識します。extensions/v1beta1などの非推奨バージョンも検出し、代替を提案します。カスタムAPIグループのCRD(Custom Resource Definition)は警告なしで受け入れられます。

データは安全ですか?

はい。すべての検証はJavaScriptを使用してブラウザ内で完全に実行されます。データがサーバーに送信されることはありません。シークレット参照、サービス名、内部設定を含むKubernetesマニフェストがマシンから外に出ることはありません。ブラウザの開発者ツールのネットワークタブで確認できます。

Helmテンプレートを検証できますか?

いいえ。HelmテンプレートにはGoテンプレート構文({{ }})が含まれており、有効なYAMLではありません。検証前に'helm template'を使用してHelmテンプレートをレンダリングする必要があります。このツールはレンダリング済みのKubernetes YAMLマニフェストのみを検証します。

エラーと警告の違いは何ですか?

エラーは必須フィールドの欠如や空のコンテナ配列など、デプロイ失敗を引き起こす可能性の高い問題を示します。警告はリソース制限やヘルスプローブの欠如など、運用上の問題を引き起こす可能性のあるベストプラクティス違反を示します。情報メッセージはラベルやreadinessプローブの追加など、改善のための提案です。

関連ツール