在EKS上安装External Secrets Operator后配置SecretStore遇错求助
解决EKS 1.21+上External Secrets Operator 0.6.1的SecretStore/ClusterSecretStore配置问题
针对你遇到的Address is not allowed webhook调用错误,结合日志里的证书和webhook配置更新情况,可按以下步骤排查修复:
检查webhook服务的可用性
先确认webhook服务的Endpoint是否正常:kubectl get svc external-secrets-operator-webhook -n external-secrets kubectl get endpoints external-secrets-operator-webhook -n external-secrets确保Endpoint列表里有运行中的webhook Pod IP,服务的端口443正确映射到容器的9443端口(ESO webhook默认监听端口)。
验证webhook配置的CA证书一致性
查看validating webhook配置的CA bundle,对比webhook Pod内的证书:- 获取webhook配置的CA bundle:
kubectl get validatingwebhookconfiguration validate.clustersecretstore.external-secrets.io -o jsonpath='{.webhooks[0].clientConfig.caBundle}' - 获取webhook Pod内的证书并base64编码:
kubectl exec -n external-secrets $(kubectl get pods -n external-secrets -l app=external-secrets-operator-webhook -o name) -- cat /tmp/certs/tls.crt | base64 -w 0
若两者不一致,说明cert-controller的配置更新未生效,需要重新生成。
- 获取webhook配置的CA bundle:
强制重新生成webhook配置
删除现有validating webhook配置,让cert-controller重新创建:kubectl delete validatingwebhookconfiguration validate.clustersecretstore.external-secrets.io kubectl delete validatingwebhookconfiguration validate.secretstore.external-secrets.io等待1-2分钟后,cert-controller会自动重新生成配置,再次检查CA bundle是否一致。
排查网络策略和集群准入控制
确认external-secrets命名空间没有网络策略阻止kube-apiserver访问webhook服务:kubectl get networkpolicy -n external-secrets若存在限制策略,需添加允许kube-apiserver访问端口443的规则。同时确认EKS集群的Admission Webhook功能正常启用(EKS 1.21+默认启用)。
尝试升级ESO版本
0.6.1版本存在已知的webhook证书同步问题,升级到0.7.x版本可修复:helm repo update external-secrets helm upgrade --install external-secrets-store external-secrets/external-secrets --version 0.7.0 -n external-secrets
内容的提问来源于stack exchange,提问作者Vini
相关产品推荐
相关产品推荐

