与入场webhooks的kubeadm

时间:2019-01-28 12:01:55

标签: kubernetes kubeadm

我有以下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

请让我知道是否有人可以帮助我确保准入网钩确实在我的集群上运行。

2 个答案:

答案 0 :(得分:0)

根据您提供的输出,我假设MutatingAdmissionWebhookValidatingAdmissionWebhook没有通过api服务器正确传播。

我建议按照以下步骤实现您的目标:

  1. 通过向/etc/kubernetes/manifests/kube-apiserver.yaml Kubernetes API服务器标志添加所需的准入控制插件,检查并编辑enable-admission-plugins清单文件:
  

-enable-admission-plugins = NodeRestriction,DefaultStorageClass,MutatingAdmissionWebhook,ValidatingAdmissionWebhook

  1. 删除当前的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"