EKS集群中Gitea向DroneCI发送Webhook超时,请求解决
Gitea Webhook调用DroneCI超时问题排查方案
验证Pod到NLB的网络连通性
进入Gitea的Pod内部,执行curl命令测试DroneCI的Webhook地址:kubectl exec -it <gitea-pod-name> -n <gitea-namespace> -- curl -v http://10.22x.xx.xx/hook?secret=qIGg8hkgiBo8nEiiwirhTxwlNWvGEv0如果出现连接超时,说明网络链路存在阻断;如果返回403/200等状态码,说明网络通,问题可能在DroneCI处理逻辑或Gitea超时设置。
检查AWS NLB配置
- 确认NLB的目标组已正确关联DroneCI的Service,且目标组的健康检查状态为正常。若健康检查失败,NLB会停止向DroneCI Pod转发流量。
- 核对NLB监听端口与DroneCI Service的端口是否完全匹配,比如DroneCI的Webhook端口为80,则NLB需监听80端口。
- 检查NLB所属VPC的路由表,确保Gitea Pod所在子网能路由到NLB的IP;同时确认NLB的安全组允许来自Gitea所在子网/安全组的入站流量。
检查DroneCI的Service与Pod状态
- 查看DroneCI Service的配置,确认其
EXTERNAL-IP为报错中的10.22x.xx.xx,且Endpoints字段显示正常运行的Pod IP(说明Service与Pod关联正常)。 - 查看DroneCI Pod的日志,确认是否收到Gitea发送的Webhook请求:
若日志无请求记录,说明流量未到达Pod;若有请求但处理耗时过长,需排查DroneCI的资源限制或业务逻辑。kubectl logs <droneci-pod-name> -n <droneci-namespace>
- 查看DroneCI Service的配置,确认其
检查EKS网络策略
若集群启用了NetworkPolicy,确认存在允许Gitea命名空间的Pod访问DroneCI Service/NLB IP的策略,避免网络策略阻断跨命名空间流量。调整Gitea Webhook超时设置
进入Gitea仓库的Webhook配置页面,将超时时间从默认值(通常10秒)调整为更大的值(如30秒),排除因DroneCI处理慢导致的超时。
内容的提问来源于stack exchange,提问作者Nitin G
相关产品推荐
相关产品推荐

