ベストプラクティスとポリシーのためのKubernetes YAMLのバリデーション(第四章)
この記事では、KubernetesのYAMLファイルを検証し、ベストプラクティスとコンプライアンスをスコア化するための6つの静的ツールを比較しています。
長い記事なので4回に分けてお送りします。今回は第4回目の最終章です。
今回はPolarisについてです。また簡単に今までのツールの特徴を表にまとめています。
Polaris
この記事で最後に紹介するツールは、polaris (https://github.com/FairwindsOps/polaris)です。
Polarisはクラスタ内にインストールするか、Kubernetesのマニフェストを静的に分析するためのコマンドラインツールとして使用することができます。
コマンドラインツールとして実行する場合、セキュリティやベストプラクティスなどの領域をカバーするいくつかのビルドインチェックが含まれています 。その点はkube-scoreと同様です。
また、config-lint、copper、conftestのようなカスタムチェックを記述することもできます。
言い換えれば、polarisは、ビルトインチェックとカスタムチェックの2つのカテゴリのいいところを組み合わせたものです。
polarisのコマンドラインツールは、プロジェクトサイトの説明書通りにインストールすることができます。
本稿執筆時点での最新リリースは1.0.3です。
インストール後、polarisをbase-valid.yamlマニフェストに対して、次のように行います。
$polaris audit --audit-path base-valid.yaml
上記のコマンドは、実行されたチェックと各テストの結果の詳細を示すJSON形式の文字列を出力します。
出力は以下のような構造になります。
output.json
{"PolarisOutputVersion": "1.0","AuditTime": "0001-01-01T00:00:00Z","SourceType": "Path","SourceName": "test-data/base-valid.yaml","DisplayName": "test-data/base-valid.yaml","ClusterInfo": {"Version": "unknown",