AWS EKS 1.25集群调用vingress.elbv2.k8s.aws webhook失败求助
解决AWS EKS 1.25集群Ingress Webhook证书未知权威问题
这个报错是由于AWS Load Balancer Controller的webhook证书过期或未正确配置,导致Kubernetes API Server无法验证webhook的证书有效性,以下是具体解决步骤:
步骤1:检查控制器状态
- 查看kube-system命名空间下AWS Load Balancer Controller的Pod状态:
kubectl get pods -n kube-system -l app.kubernetes.io/name=aws-load-balancer-controller - 若Pod异常,查看日志定位基础问题:
kubectl logs -n kube-system <pod-name>
步骤2:自动重新生成Webhook证书
这是最常用的修复方式,控制器重启后会自动重新生成证书:
- 删除现有webhook证书Secret:
kubectl delete secret aws-load-balancer-webhook-cert -n kube-system - 删除控制器Pod,触发重启:
kubectl delete pod -n kube-system -l app.kubernetes.io/name=aws-load-balancer-controller - 等待Pod重启完成,验证证书Secret是否重新创建:
kubectl get secret aws-load-balancer-webhook-cert -n kube-system
步骤3:手动更新Webhook CA Bundle(自动生成失败时使用)
如果自动生成证书后问题依旧,手动更新webhook的CA证书:
- 获取新生成的CA证书内容:
kubectl get secret aws-load-balancer-webhook-cert -n kube-system -o jsonpath='{.data.ca\.crt}' | base64 -d - 编辑ValidatingWebhookConfiguration,替换
caBundle字段:kubectl edit validatingwebhookconfigurations.admissionregistration.k8s.io vingress.elbv2.k8s.aws - 在编辑器中找到
caBundle字段,将其值替换为上面获取的CA证书内容,保存退出。
步骤4:验证修复效果
- 尝试重新应用Ingress资源,验证报错是否消失:
kubectl apply -f your-ingress-resource.yaml
内容的提问来源于stack exchange,提问作者rholdberh
相关产品推荐
相关产品推荐

