En este tema, se describe cómo quitar un espacio de nombres de la aplicación de webhook con el controlador de políticas mediante la configuración de espacios de nombres exentos. Las infracciones se informarán en auditoría.
Antes de comenzar
Tenga Anthos Config Management y al controlador e políticas en su clúster.
Espacios de nombres que se pueden eximir
La configuración de un espacio de nombres que se puede eximir le permite al usuario aplicar la etiqueta admission.gatekeeper.sh/ignore
. Si luego quitas un espacio de nombres exento, el controlador de políticas no quitará la aplicación de esta etiqueta a ese espacio de nombres.
Exime espacios de nombres de la aplicación
Para eximir espacios de nombres a fin de aplicar la etiqueta admission.gatekeeper.sh/ignore
, debes agregar el nombre del espacio de nombres al manifiesto de ConfigManagement en spec.policyController.exemptableNamespaces
.
# config-management.yaml
apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
name: config-management
namespace: config-management-system
spec:
# clusterName is required and must be unique among all managed clusters
clusterName: cluster-name
# Set to true to install and enable Policy Controller
policyController:
enabled: true
exemptableNamespaces: ["namespace-name"]
...
Puedes eximir varios espacios de nombres. Por ejemplo, para eximir los espacios de nombres not-applicable
y also-not-applicable
en el clúster my-cluster
, debes aplicar el siguiente manifiesto:
# config-management.yaml
apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
name: config-management
namespace: config-management-system
spec:
# clusterName is required and must be unique among all managed clusters
clusterName: my-cluster
# Set to true to install and enable Policy Controller
policyController:
enabled: true
exemptableNamespaces: ["not-applicable","also-not-applicable"]
...
Etiqueta el espacio de nombres
A continuación, etiqueta tus espacios de nombres para que el webhook de admisión de Anthos Config Management no aplique su contenido.
kubectl label namespace namespace-name "admission.gatekeeper.sh/ignore=true"