1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

clusterlintでk8sのベストプラクティスをチェック

Last updated at Posted at 2020-01-28

Clusterlintとは

Digital Ocean製のClusterlintというツールを使ってみたので紹介します。
Kubernetesクラスタのリソースがベストプラクティスに則っているかをチェック出来ます。

例えば、

  • 使われていないConfigMap、Secretがあるか
  • コンテナイメージのタグがlatestではなく、ちゃんと指定しているか
  • ルートユーザーや特権モードが無効化されているか

ベンダに依存しないものから、DOKS(Digital Oceanのマネージドk8s)向けのチェックがあります。
実行時に環境に合わせたチェック項目が選べます。
チェック項目の詳細はこちらのページを参照してください。
https://github.com/digitalocean/clusterlint/blob/master/checks.md

インストール

go get github.com/digitalocean/clusterlint/cmd/clusterlint

使い方

チェック項目一覧

clusterlint list

すべての項目をチェック

clusterlint run

特定の項目のみチェックしたい場合は次のように使います。

clusterlint run -c bare-pods

チェック項目にはグループ分けされており、まとめてチェックできます。
例えば、基本的な項目をまとめてチェックする場合は次のように使います。

clusterlint run -g basic

また、チェックするネームスペースを絞り込むことも出来ます。

clusterlint run -n my-namespace

特定のリソースのみ除外したい場合は次のようなannotaionsを記述します。

"metadata": {
  "annotations": {
    "clusterlint.digitalocean.com/disabled-checks" : "bare-pods"
  }
}

感想

ベストプラクティスに則って環境を作ったつもりでしたが、漏れに気づくことが出来ました。
他のlintツールと同様、自分たちの環境に合わせてチェックする項目を選んだり、除外設定を入れたりしましょう。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?