You need to enable JavaScript to run this app. 配置Kubernetes webhook后kube-apiserver报错找不到已存在的配置文件
优惠活动
大模型
产品
解决方案
定价
更多

配置Kubernetes webhook后kube-apiserver报错找不到已存在的配置文件

问题根因

kube-apiserver以静态Pod形式运行时,容器文件系统与宿主机隔离,默认仅挂载了预设的必要宿主机目录。你仅添加了启动参数,未将/etc/kubernetes/webhook.yaml加入Pod的挂载列表,因此容器内部无法读取到宿主机上的该文件。

修复步骤
  • 编辑/etc/kubernetes/manifests/kube-apiserver.yaml,在spec.volumes配置段新增如下volume定义:
- name: webhook-config
  hostPath:
    path: /etc/kubernetes/webhook.yaml
    type: File
  • 继续在同文件的spec.containers[0].volumeMounts配置段新增挂载规则,将宿主机文件映射到容器内对应路径:
- mountPath: /etc/kubernetes/webhook.yaml
  name: webhook-config
  readOnly: true
  • 保存修改后,kubelet会自动检测静态Pod清单变更,销毁旧的apiserver容器并启动新容器。可执行kubectl get pods -n kube-system | grep kube-apiserver确认Pod状态为Running,查看容器日志无报错即修复完成。
补充说明

如果你后续修改为存放webhook相关配置的目录而非单个文件,只需将上述配置中的type改为Directory,调整对应path和mountPath为目录路径即可。文件权限保持600符合安全要求,不会影响读取。

内容的提问来源于stack exchange,提问作者NPatel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 14:06:00