Halaman ini menjelaskan cara mengonfigurasi namespace yang dikecualikan di Pengontrol Kebijakan.
Namespace yang dikecualikan menghapus namespace dari penerapan webhook penerimaan dengan
Pengontrol Kebijakan, tetapi pelanggaran apa pun masih dilaporkan di
audit. Jika Anda tidak mengonfigurasi
namespace, hanya namespace gatekeeper-system
yang telah dikonfigurasi sebelumnya sebagai dikecualikan
dari penerapan webhook penerimaan Pengontrol Kebijakan.
Mengonfigurasi namespace yang dikecualikan
Mengonfigurasi namespace yang dapat dikecualikan memungkinkan Anda menerapkan
Label admission.gatekeeper.sh/ignore
untuk mengecualikan namespace dari Pengontrol Kebijakan
penerapan webhook pendaftaran. Jika nanti Anda menghapus namespace yang dapat dikecualikan,
Pengontrol Kebijakan tidak menghapus label admission.gatekeeper.sh/ignore
dari namespace.
Mengecualikan namespace dari penerapan
Anda dapat mengecualikan namespace selama penginstalan Pengontrol Kebijakan, atau setelah pemasangan. Proses berikut menunjukkan cara mengecualikan namespace setelah instalasi.
Konsol
- Di Konsol Google Cloud, buka halaman Kebijakan GKE Enterprise di bagian Pengelolaan Postur.
- Pada tab Setelan, pada tabel cluster, pilih Edit edit di kolom Edit configuration.
- Luaskan menu Edit Policy Controller configuration.
- Di kolom Kecualikan namespace, masukkan daftar namespace yang valid. Objek dalam namespace ini diabaikan oleh semua kebijakan. Namespace belum harus ada.
- Pilih Simpan perubahan.
Pengontrol Kebijakan gcloud
Untuk menambahkan namespace ke daftar namespace yang mungkin dikecualikan dari diterapkan oleh webhook penerimaan, jalankan perintah berikut:
gcloud container fleet policycontroller update \
--memberships=MEMBERSHIP_NAME \
--exemptable-namespaces=[NAMESPACE_LIST]
Ganti kode berikut:
MEMBERSHIP_NAME
: nama keanggotaan cluster terdaftar untuk mengecualikan namespace. Anda dapat menentukan beberapa keanggotaannya dipisahkan dengan koma.NAMESPACE_LIST
: daftar namespace yang dipisahkan koma yang Anda inginkan untuk dikecualikan dari penerapan oleh Pengontrol Kebijakan.
Perintah ini mengecualikan resource hanya dari webhook penerimaan. Sumber daya masih diaudit. Untuk mengecualikan namespace dari audit, tetapkan atribut pengecualian di tingkat paket kebijakan:
gcloud container fleet policycontroller content bundles set BUNDLE_NAME \
--memberships=MEMBERSHIP_NAME \
--exempted-namespaces=[NAMESPACE_LIST]
Ganti kode berikut:
BUNDLE_NAME
dengan nama paket kebijakan yang ingin Anda perbarui dengan namespace yang dikecualikan.MEMBERSHIP_NAME
: nama keanggotaan cluster terdaftar untuk mengecualikan namespace. Anda dapat menentukan beberapa keanggotaannya dipisahkan dengan koma.NAMESPACE_LIST
: daftar namespace yang dipisahkan koma yang Anda inginkan untuk dikecualikan dari penerapan oleh Pengontrol Kebijakan.
gcloud ConfigManagement
Untuk mengecualikan namespace dari penerapan, tambahkan nama namespace di
spec.policyController.exemptableNamespaces
:# apply-spec.yaml applySpecVersion: 1 spec: # Set to true to install and enable Policy Controller policyController: enabled: true exemptableNamespaces: ["NAMESPACE_NAME"] ...
Ganti NAMESPACE_NAME dengan nama namespace yang Anda ingin dikecualikan dari penegakan kebijakan.
Anda juga dapat mengecualikan beberapa namespace. Misalnya, untuk menambahkan namespace
not-applicable
danalso-not-applicable
, Anda akan menerapkan hal berikut manifes:# apply-spec.yaml applySpecVersion: 1 spec: # Set to true to install and enable Policy Controller policyController: enabled: true exemptableNamespaces: ["not-applicable","also-not-applicable"] ...
Terapkan perubahan pada file
apply-spec.yaml
:gcloud beta container fleet config-management apply \ --membership=MEMBERSHIP_NAME \ --config=CONFIG_YAML \ --project=PROJECT_ID
Ganti kode berikut:
- MEMBERSHIP_NAME: menambahkan cluster terdaftar yang ingin Anda menerapkan konfigurasi ini. Jika Anda mendaftarkan cluster di Konsol Google Cloud, nama keanggotaan sama dengan nama .
- CONFIG_YAML: menambahkan jalur ke file
apply-spec.yaml
. - PROJECT_ID: tambahkan project ID Anda.
Beri label namespace yang dapat dikecualikan agar webhook penerimaan Pengontrol Kebijakan tidak menegakkan kontennya:
kubectl label namespace NAMESPACE_NAME "admission.gatekeeper.sh/ignore=true"
Ganti NAMESPACE_NAME dengan nama namespace yang Anda ingin dikecualikan dari penegakan kebijakan.
Namespace yang akan dikecualikan dari penerapan
Berikut adalah beberapa namespace yang dapat dibuat oleh Google Kubernetes Engine (GKE) dan produk terkait. Anda dapat mengecualikannya dari penegakan untuk menghindari dampak yang tidak diinginkan:
- 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