Rancher添加用户全局权限失败报webhook连接被拒绝如何解决?
Rancher rancherauth.cattle.io webhook 连接拒绝排查方案
这个错误是Kubernetes API Server无法与Rancher部署的认证校验Webhook服务建立连接导致的,可按以下步骤逐层排查:
1. 确认Webhook基础资源状态
- 检查Webhook Pod运行状态:
执行命令查看cattle-system命名空间下的rancher-webhook实例:kubectl get pods -n cattle-system -l app=rancher-webhook
如果Pod处于CrashLoopBackOff、Pending等非Running状态,查看Pod日志定位启动失败原因:kubectl logs -n cattle-system <替换为实际webhook pod名称> - 检查Webhook Service配置:
执行命令确认Service存在且端口配置正确:kubectl get svc -n cattle-system rancher-webhook
正常输出中CLUSTER-IP应与报错中的10.X.X.X一致,443端口映射到Pod的9443端口。
2. 排查集群网络连通性
报错明确为连接拒绝,优先校验API Server到Webhook的网络链路:
- 登录任意集群控制面节点,执行命令测试连通性:
curl -v https://10.X.X.X:443 --insecure
若仍然返回连接拒绝,继续排查以下项:- 检查集群网络策略是否禁止了控制面组件访问cattle-system命名空间的443端口
- 确认Calico、Flannel等CNI插件运行正常,无网络分区、规则配置错误问题
- 若集群开启了Istio Sidecar自动注入,确认cattle-system命名空间已关闭注入,rancher-webhook默认不兼容Sidecar代理
3. 修复Webhook配置异常
- 校验准入Webhook配置是否正确:
执行命令查看配置详情:kubectl get ValidatingWebhookConfiguration rancher.cattle.io.v1 -o yaml
确认clientConfig.service字段的name为rancher-webhook、namespace为cattle-system、port为443。 - 若配置无误仍无法连接,可重建Webhook资源:
先删除现有异常资源:
重启Rancher主服务,Rancher会自动重新生成正确的Webhook资源:kubectl delete deployment -n cattle-system rancher-webhook kubectl delete ValidatingWebhookConfiguration rancher.cattle.io.v1kubectl rollout restart deployment -n cattle-system rancher
4. 兜底校验证书有效性
如果后续出现证书相关报错,可检查Webhook TLS证书是否过期:kubectl get secret -n cattle-system rancher-webhook-tls -o jsonpath='{.data.tls\.crt}' | base64 -d | openssl x509 -noout -dates
若证书已过期,重启rancher-webhook Pod即可自动重新签发有效证书。
内容的提问来源于stack exchange,提问作者RuloSoloCabra
相关产品推荐
相关产品推荐

