You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Envoy数据平面容器启动失败:Startup探针失败、gRPC错误及xDS连接失败

Envoy Gateway数据平面容器未就绪排查与修复

问题概述

在Kubernetes集群中安装Envoy Gateway(1.6.2),控制平面运行正常(对应Service和Endpoints存在),但数据平面Pod仅shutdown manager容器健康,envoy容器未就绪,启动探针报错:

Warning Unhealthy 34s (x25 over 4m34s) kubelet Startup probe failed: Get "http://X.X.X.X:19003/ready": dial tcp X.X.X.X:19003: connect: connection refused

数据平面日志显示:DNS解析虽最终成功,但连接控制平面envoy-gateway.envoy-gateway-system.svc.cluster.local:18000超时,无法建立XDS gRPC连接,导致Envoy未完成初始化。

排查与修复步骤

1. 验证控制平面18000端口的可达性

数据平面需连接控制平面的18000端口(XDS gRPC服务端口),从数据平面Pod内部测试连通性:

# 进入健康的shutdown manager容器
kubectl exec -it <数据平面Pod名称> -c shutdown-manager -- /bin/sh
# 测试控制平面Service的端口连通性
nc -zv envoy-gateway.envoy-gateway-system.svc.cluster.local 18000
# 直接测试控制平面Pod IP的端口
nc -zv <控制平面Pod IP> 18000

若连接失败,排查以下点:

  • 检查控制平面命名空间的网络策略,确认允许数据平面命名空间访问18000端口
  • 检查集群CNI插件(如Calico、Cilium)是否有跨命名空间流量限制规则
  • 确认控制平面Pod的18000端口正常监听:
kubectl exec -it <控制平面Pod名称> -- netstat -tulpn | grep 18000

2. 检查控制平面XDS服务配置

确认控制平面Service正确暴露18000端口:

kubectl get svc envoy-gateway -n envoy-gateway-system -o yaml

查看spec.ports是否包含正确配置:

- name: xds
  port: 18000
  protocol: TCP
  targetPort: 18000

若targetPort配置错误,修改Service后重新部署。

3. 调整数据平面连接超时与探针配置

日志显示连接超时为5秒,可调大相关参数:

  • 编辑数据平面的Deployment/DaemonSet,修改envoy容器的启动探针配置:
startupProbe:
  httpGet:
    path: /ready
    port: 19003
  initialDelaySeconds: 30
  periodSeconds: 5
  failureThreshold: 20
livenessProbe:
  httpGet:
    path: /ready
    port: 19003
  initialDelaySeconds: 40
  timeoutSeconds: 10
  • 调整数据平面Envoy bootstrap配置中XDS集群的连接超时:
clusters:
- name: xds_cluster
  connect_timeout: 15s
  # 其余配置保持不变

4. 优化DNS解析稳定性

日志中出现短暂DNS解析异常,可优化相关配置:

  • 检查集群CoreDNS Pod运行状态与日志,确认DNS服务无异常
  • 在数据平面Envoy bootstrap的DNS resolver配置中增加重试次数与超时:
dns_resolvers:
- address: "<集群DNS IP>:53"
  timeout: 5s
  retry_count: 3

5. 确认版本兼容性

确保Envoy Gateway控制平面与数据平面Envoy版本兼容:1.6.2版本的Envoy Gateway对应Envoy v1.29.x,检查数据平面Envoy镜像版本:

kubectl get pods <数据平面Pod名称> -o jsonpath='{.spec.containers[?(@.name=="envoy")].image}'

若版本不匹配,替换为官方推荐的兼容镜像。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 17:13:09