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

Istio安装失败ingressgateway就绪探针连接拒绝 边车注入异常

排查步骤

1. 优先处理节点通信异常

你遇到的kubectl logs超时是最核心的优先排查点,该报错说明master节点无法访问slave节点的kubelet 10250端口:

  • 登录master节点执行 telnet 192.168.0.154 10250 验证连通性,不通则按以下顺序排查:
    • 检查华为云ECS安全组规则,放开master与slave节点之间所有内网端口的出入规则,至少包含:6443、10250、10251、10252、2379-2380,以及你所用CNI插件的专属端口(Flannel需开放8285、8472;Calico需开放4789、5473)
    • 检查两台节点的本地防火墙配置,执行 sudo ufw status 查看ufw状态,若为开启状态执行 sudo ufw disable 临时关闭验证

2. 排查Pod网络连通性

Ingressgateway的就绪探针失败,说明集群内部无法访问Pod网段的服务端口:

  • 先检查kube-system命名空间下所有CNI相关Pod是否全部处于Running状态,确认CNI插件无异常
  • 登录slave节点执行 curl http://10.244.1.4:15021/healthz/ready 本地验证端口连通性:
    • 若本地也无法访问,说明istio-proxy容器启动失败,直接在slave节点用容器运行时查看日志:
      • Docker运行时:sudo docker ps | grep istio-proxy 拿到容器ID,再执行 sudo docker logs [容器ID] 查看具体报错
      • Containerd运行时:sudo crictl ps | grep istio-proxy 拿到容器ID,再执行 sudo crictl logs [容器ID] 查看具体报错

3. 排查Sidecar注入失败问题

开启自动注入后httpbin无法创建Pod,是因为kube-apiserver调用Istio的MutatingWebhook异常:

  • 查看kube-apiserver的日志,筛选httpbin相关的报错,一般为调用istiod服务的443端口超时
  • 分别在master、slave节点上测试与istiod服务IP的15012、443端口连通性,不通则回到节点安全组/防火墙规则排查

4. 快速验证方法

你可以临时将istio-ingressgateway调度到master节点验证问题根因,执行以下命令(将[k8s-master-hostname]替换为你master节点的真实hostname):

kubectl patch deployment istio-ingressgateway -n istio-system -p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/hostname":"[k8s-master-hostname]"}}}}}'

若修改后ingressgateway正常启动,可100%确认是slave节点的网络/安全组配置问题。

完成所有排查修复后,重新执行Istio安装命令即可正常部署ingressgateway,后续可正常运行官方流量管理示例。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:36:03