Halaman ini menjelaskan cara mengonfigurasi namespace yang dikecualikan di Policy Controller.
Mengecualikan namespace akan menghapus namespace dari penerapan webhook penerimaan dengan
Pengontrol Kebijakan, tetapi pelanggaran apa pun masih dilaporkan di
audit. Jika Anda tidak mengonfigurasi
namespace apa pun, 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 penerapan webhook
penerimaan Pengontrol Kebijakan. Jika Anda kemudian menghapus namespace yang dapat dikecualikan,
Pengontrol Kebijakan tidak akan menghapus label admission.gatekeeper.sh/ignore
dari namespace.
Mengecualikan namespace dari penerapan
Anda dapat mengecualikan namespace selama penginstalan Pengontrol Kebijakan, atau setelah penginstalan. Proses berikut menunjukkan cara mengecualikan namespace setelah penginstalan.
Konsol
- Di konsol Google Cloud, buka halaman Kebijakan GKE Enterprise di bagian Posture Management.
- Di tab Settings, di tabel cluster, pilih Edit edit di kolom Edit configuration.
- Luaskan menu Edit Policy Controller configuration.
- Di kolom Exempt namespaces, berikan daftar namespace yang valid. Objek di namespace ini diabaikan oleh semua kebijakan. Namespace belum perlu ada.
- Pilih Simpan perubahan.
Pengontrol Kebijakan gcloud
Untuk menambahkan namespace ke daftar namespace yang dapat dikecualikan dari penerapan oleh webhook akses, 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 keanggotaan yang dipisahkan dengan koma.NAMESPACE_LIST
: daftar namespace yang dipisahkan koma yang ingin Anda kecualikan dari penerapan oleh Policy Controller.
Perintah ini hanya mengecualikan resource dari webhook izin. Resource tersebut masih diaudit. Sebagai gantinya, untuk mengecualikan namespace dari audit, tetapkan 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 keanggotaan yang dipisahkan dengan koma.NAMESPACE_LIST
: daftar namespace yang dipisahkan koma yang ingin Anda kecualikan dari penerapan oleh Policy Controller.
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 ingin Anda kecualikan dari penerapan.
Anda juga dapat mengecualikan beberapa namespace. Misalnya, untuk menambahkan namespace
not-applicable
danalso-not-applicable
, Anda akan menerapkan manifes berikut:# 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: tambahkan cluster terdaftar yang ingin Anda terapkan konfigurasi ini. Jika Anda mendaftarkan cluster di konsol Google Cloud, nama keanggotaan akan sama dengan nama cluster Anda.
- CONFIG_YAML: tambahkan jalur ke file
apply-spec.yaml
Anda. - PROJECT_ID: tambahkan project ID Anda.
Beri label pada namespace yang dapat dikecualikan agar webhook penerimaan Pengontrol Kebijakan tidak menerapkan kontennya:
kubectl label namespace NAMESPACE_NAME "admission.gatekeeper.sh/ignore=true"
Ganti NAMESPACE_NAME dengan nama namespace yang ingin Anda kecualikan dari penerapan.
Namespace yang dikecualikan dari penerapan
Berikut adalah beberapa namespace yang dapat dibuat oleh Google Kubernetes Engine (GKE) dan produk terkait. Anda dapat mengecualikannya dari penerapan 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