ヘルプ Kubernetes Kubernetesオーファンリソース監視

Kubernetesオーファンリソース監視

本ページは機械翻訳をもとに提供しています。正確かつ最新の情報は英語版の内容をご参照ください。

オーファンリソース(孤立リソース)とは、クラスター内に残っているものの、どのアクティブなPodからも使用されなくなったKubernetes(K8s)オブジェクトです。これらを放置すると、時間とともに蓄積され、クラスターの乱雑化や不要なリスクの原因となります。

Kubernetesオーファンリソース監視は、Kubernetesクラスター全体でこれらの未使用オブジェクトを特定し、単一の[オーファンリソース]ページに一覧表示します。これにより、リソースのレビューとクリーンアップを簡単に行えます。

ユースケース

セキュリティとコンプライアンスの強化

古いサービスアカウントや残っているRBACバインディングは、攻撃対象領域を広げます。古いサービスアカウントが(例えば、シークレットの読み取りや実行権限などの)広範なクラスターロールを保持している場合、そのトークンにアクセスした攻撃者は、監視されていないアクセスパスを悪用する可能性があります。参照されていないサービスアカウントを継続的に検出することで、監査証跡をクリーンに保てます。

etcdのパフォーマンスとコストの最適化

未使用のConfigMapが少数であれば影響は最小限ですが、何千もの孤立オブジェクトはetcdのキー・バリューストアを肥大化させます。これにより、コントロールプレーンノードのメモリ消費量が増加し、APIサーバーのLIST/WATCH呼び出しが遅くなり、クラスターのバックアップサイズが増大します。さらに、アタッチされていない永続ボリューム(PV)は、継続的なクラウドストレージ料金を直接発生させます。

マルチテナント環境における名前空間のライフサイクル

マルチテナント環境や一時的なフィーチャーブランチ環境では、解体処理が常にクリーンに実行されるとは限りません。オーファンリソースを名前空間でフィルターすることで、テナントチームは名前空間全体を削除する前に、古い設定を整理するための明確な可視性を得られます。

ベストプラクティス:自動検出を、GitOpsプラクティス(例えば、プルーニングを有効にしたArgo CDやFlux)や、kube-janitorやk8s-cleanerなどのツールと組み合わせ、非本番環境で宣言的なクリーンアップルールを自動的に適用します。

Kubernetesオーファンリソース監視のメリット

  • 自動検出:手動での監査なしに、Podから参照されなくなったリソースをクラスターで継続的にスキャンします。
  • 幅広いリソースタイプをカバー:定義された孤立条件を満たすサービスアカウント、PriorityClass、ConfigMap、サービスにフラグを立てます。
  • 理由に基づくコンテキスト:すべての検出結果にフラグが立てられた正確な理由を併記するため、リソースがリストされた理由がわかります。
  • 一元的なビュー:K8sモジュール内の単一ページから、クラスター全体のオーファンリソースを確認できます。

前提条件

  1. KubernetesクラスターにKubernetesエージェント バージョン22.3.00以上をインストールします。
  2. 既存のお客様は、Kubernetesエージェントをアップグレードして、バージョン22.3.00以上にしてください。

Kubernetesオーファンリソースの表示

Kubernetesクラスター内のオーファンリソースを表示するには:

  1. Site24x7アカウントにログインします。
  2. [K8s]に移動します。次に、クラスター名を選択します。
  3. [オーファンリソース]をクリックします。
  4. 名前空間およびリソースタイプのフィルターを使用して、特定の名前空間またはオブジェクトタイプにリストを絞り込みます。

監視対象のリソースタイプ

Site24x7は、次のメトリックでリソースタイプをチェックし、未使用のリソースにフラグを立てます:

メトリック名 説明
リソース 孤立していると特定されたKubernetesリソースの名前を表示します。
リソースタイプ ConfigMap、Service、ServiceAccount、PriorityClass、Secret、またはその他のサポートされているKubernetesオブジェクトなど、Kubernetesリソースのタイプを表示します。これにより、フラグが立てられたリソースの種類を特定できます。
理由 リソースが孤立していると見なされる理由を説明します。例えば、Serviceにエンドポイントがない、ConfigMapがどのPodからも参照されていない、ServiceAccountがどの実行中のPodでも使用されていない、などが該当します。
名前空間 オーファンリソースが存在するKubernetesの名前空間。名前空間に関連付けられていないクラスター全体にわたるリソースはN/Aと表示されます。

関連ドキュメント