このページでは、Policy Controller で除外する Namespace の構成方法について説明します。
除外する Namespace では、Policy Controller を使用したアドミッション Webhook の適用対象から Namespace は除外されますが、違反があれば今後も監査で報告されます。Namespace を構成しない場合は、gatekeeper-system
Namespace のみが、Policy Controller アドミッション Webhook の適用対象外として事前構成されます。
除外する Namespace を構成する
除外可能な Namespace を構成すると、admission.gatekeeper.sh/ignore
ラベルが適用され、Policy Controller アドミッション Webhook の適用から Namespace が除外されます。除外可能な Namespace を後で削除しても、Policy Controller は Namespace から admission.gatekeeper.sh/ignore
ラベルを削除しません。
Namespace を適用の対象外にする
Namespace の除外は Policy Controller のインストール中またはインストール後に行えます。次のプロセスは、インストール後に Namespace を除外する方法を示しています。
コンソール
- Google Cloud コンソールで、[ポスチャーの管理] セクションにある GKE Enterprise の [ポリシー] ページに移動します。
- [設定] タブのクラスタ テーブルで、[構成の編集] 列にある [編集 edit] を選択します。
- [Policy Controller の構成を編集] メニューを開きます。
- [Exempt namespaces] フィールドに、有効な Namespace のリストを入力します。これらの Namespace 内のオブジェクトは、すべてのポリシーで無視されます。この時点で Namespace が存在している必要はありません。
- [変更を保存] をクリックします。
gcloud
アドミッション Webhook によって適用から除外される Namespace のリストに Namespace を追加するには、次のコマンドを実行します。
gcloud container fleet policycontroller update \
--memberships=MEMBERSHIP_NAME \
--exemptable-namespaces=[NAMESPACE_LIST]
次のように置き換えます。
MEMBERSHIP_NAME
: Namespace を除外する登録済みクラスタのメンバーシップ名。複数のメンバーシップを指定する場合は、カンマ区切りで指定します。NAMESPACE_LIST
: Policy Controller の適用対象から除外する Namespace のカンマ区切りリスト。
このコマンドは、アドミッション Webhook からのみリソースを除外します。リソースは引き続き監査されます。Namespace を監査から除外するには、代わりにポリシー バンドル レベルで除外を設定します。
gcloud container fleet policycontroller content bundles set BUNDLE_NAME \
--memberships=MEMBERSHIP_NAME \
--exempted-namespaces=[NAMESPACE_LIST]
次のように置き換えます。
BUNDLE_NAME
は、除外された Namespace で更新するポリシー バンドルの名前に置き換えます。MEMBERSHIP_NAME
: Namespace を除外する登録済みクラスタのメンバーシップ名。複数のメンバーシップを指定する場合は、カンマ区切りで指定します。NAMESPACE_LIST
: Policy Controller の適用対象から除外する Namespace のカンマ区切りリスト。
適用から除外する Namespace
以下は、Google Kubernetes Engine(GKE)と関連プロダクトによって作成される可能性のある Namespace です。望ましくない影響を避けるために、次のものを適用除外することをおすすめします。
- anthos-creds
- anthos-identity-service
- apigee
- apigee-system
- asm-system
- capi-kubeadm-bootstrap-system
- capi-system
- cert-manager
- cnrm-system
- config-management-monitoring
- config-management-system
- gke-connect
- gke-gmp-system
- gke-managed-cim
- gke-managed-filestorecsi
- gke-managed-metrics-server
- gke-managed-system
- gke-system
- gmp-public
- gmp-system
- hnc-system
- istio-system
- kube-node-lease
- kube-public
- kube-system
- poco-trial
- resource-group-system
- vm-system