Important
This example assume you use kind k8s cluster..
kind Cluster
Static Pods
- copy manifest file from control plane node
docker cp multi-control-plane:/etc/kubernetes/manifests/kube-apiserver.yaml .
- Edit manifest file to enable admission controller.
spec:
containers:
- command:
- kube-apiserver
- --client-ca-file=/etc/kubernetes/pki/ca.crt
- --enable-admission-plugins=NodeRestriction,NamespaceAutoProvision,LimitRanger # Manualy Updated
- --enable-bootstrap-token-auth=true
- Copy Updated manifest file to control plane node
docker cp kube-apiserver.yaml multi-control-plane:/etc/kubernetes/manifests/kube-apiserver.yaml
- Check if the Plugins Are Enabled
kubectl get pod -n kube-system -l component=kube-apiserver -o yaml | grep enable-admission-plugins
- Test the
NamespaceAutoProvision
plugin
kubectl create deployment test-deployment --image=nginx:alpine -n test-namespace