ヘルプ Kubernetes Kubernetesオーファンリソース監視
オーファンリソース(孤立リソース)とは、クラスター内に残っているものの、どのアクティブなPodからも使用されなくなったKubernetes(K8s)オブジェクトです。これらを放置すると、時間とともに蓄積され、クラスターの乱雑化や不要なリスクの原因となります。
Kubernetesオーファンリソース監視は、Kubernetesクラスター全体でこれらの未使用オブジェクトを特定し、単一の[オーファンリソース]ページに一覧表示します。これにより、リソースのレビューとクリーンアップを簡単に行えます。
古いサービスアカウントや残っているRBACバインディングは、攻撃対象領域を広げます。古いサービスアカウントが(例えば、シークレットの読み取りや実行権限などの)広範なクラスターロールを保持している場合、そのトークンにアクセスした攻撃者は、監視されていないアクセスパスを悪用する可能性があります。参照されていないサービスアカウントを継続的に検出することで、監査証跡をクリーンに保てます。
未使用のConfigMapが少数であれば影響は最小限ですが、何千もの孤立オブジェクトはetcdのキー・バリューストアを肥大化させます。これにより、コントロールプレーンノードのメモリ消費量が増加し、APIサーバーのLIST/WATCH呼び出しが遅くなり、クラスターのバックアップサイズが増大します。さらに、アタッチされていない永続ボリューム(PV)は、継続的なクラウドストレージ料金を直接発生させます。
マルチテナント環境や一時的なフィーチャーブランチ環境では、解体処理が常にクリーンに実行されるとは限りません。オーファンリソースを名前空間でフィルターすることで、テナントチームは名前空間全体を削除する前に、古い設定を整理するための明確な可視性を得られます。
ベストプラクティス:自動検出を、GitOpsプラクティス(例えば、プルーニングを有効にしたArgo CDやFlux)や、kube-janitorやk8s-cleanerなどのツールと組み合わせ、非本番環境で宣言的なクリーンアップルールを自動的に適用します。
Kubernetesクラスター内のオーファンリソースを表示するには:
Site24x7は、次のメトリックでリソースタイプをチェックし、未使用のリソースにフラグを立てます:
| メトリック名 | 説明 |
|---|---|
| リソース | 孤立していると特定されたKubernetesリソースの名前を表示します。 |
| リソースタイプ | ConfigMap、Service、ServiceAccount、PriorityClass、Secret、またはその他のサポートされているKubernetesオブジェクトなど、Kubernetesリソースのタイプを表示します。これにより、フラグが立てられたリソースの種類を特定できます。 |
| 理由 | リソースが孤立していると見なされる理由を説明します。例えば、Serviceにエンドポイントがない、ConfigMapがどのPodからも参照されていない、ServiceAccountがどの実行中のPodでも使用されていない、などが該当します。 |
| 名前空間 | オーファンリソースが存在するKubernetesの名前空間。名前空間に関連付けられていないクラスター全体にわたるリソースはN/Aと表示されます。 |