ベストプラクティスとポリシーのためのKubernetes YAMLのバリデーション(第四章)

gavin.zhou
11 min readJan 5, 2021

この記事では、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",

--

--