我有以下conf
cat kubeadm-conf.yaml
apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
apiServerExtraArgs:
enable-admission-plugins: NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook
networking:
podSubnet: 192.168.0.0/16
但是,当我这样做
ps -aux | grep admission
root 20697 7.4 2.8 446916 336660 ? Ssl 03:49 0:21 kube-apiserver --authorization-mode=Node,RBAC --advertise-address=10.0.2.15 --allow-privileged=true --client-ca-file=/etc/kubernetes/pki/ca.crt --enable-admission-plugins=NodeRestriction
I only see the NodeRestriction
请让我知道是否有人可以帮助我确保准入网钩确实在我的集群上运行。
答案 0 :(得分:0)
根据您提供的输出,我假设MutatingAdmissionWebhook
和ValidatingAdmissionWebhook
没有通过api服务器正确传播。
我建议按照以下步骤实现您的目标:
/etc/kubernetes/manifests/kube-apiserver.yaml
Kubernetes API服务器标志添加所需的准入控制插件,检查并编辑enable-admission-plugins
清单文件:-enable-admission-plugins = NodeRestriction,DefaultStorageClass,MutatingAdmissionWebhook,ValidatingAdmissionWebhook
kube-apiserver
Pod,然后等待Kubernetes重新生成具有反映的更改的新Pod: kubectl delete pod <kube-apiserver-Pod> -n kube-system
希望对您有帮助,我已经在我的环境中成功检查了这些步骤。
有关Kubernetes Admission Controllers的更多信息,您可以在官方documentation中找到。
答案 1 :(得分:0)
感谢您的回复,即使这样仍然有效,以防万一有人需要时发布kubeadm答案,以下是正确的kubeadm配置:
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
networking:
podSubnet: 192.168.0.0/16
apiServer:
extraArgs:
enable-admission-plugins: "NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook"