10256 是什么
10256 是 kube-proxy 的 healthz 端口,提供 /healthz 与 /metrics 端点,用于判断代理进程本身是否健康,也常被节点监控或探针采集。它与 10249 的区别在定位:10249 更偏指标,10256 更偏健康与存活。节点出现「Ready 但服务不通」时,按 kubelet(10250 与 10248)、kube-proxy(10256)、iptables 或 ipvs 规则这个顺序排查,通常能较快收敛。
基本信息
| 服务 | kube-proxy healthz(默认 10256) |
|---|---|
| 协议 | TCP/HTTP |
| 用途 | 代理健康检查与指标 |
| 配套端口 | 10249(metrics)、10250(kubelet) |
| 部署形态 | DaemonSet(kube-system) |
| 安全等级 | 仅节点或监控 |
典型使用场景
- 节点网络异常排障:确认代理进程健康
- 探针配置:为 DaemonSet 配置存活与就绪探针
- 监控采集:纳入节点指标体系
- 安全基线:核对健康端口的暴露范围
- 升级验证:代理版本升级后逐节点确认状态
- 集群巡检:批量检查各节点代理运行情况
节点网络排障顺序
| 顺序 | 检查点 | 命令 |
|---|---|---|
| 1 | 节点状态 | kubectl get nodes |
| 2 | kubelet 与运行时 | 检查节点日志与运行时状态 |
| 3 | kube-proxy 健康 | curl -s 127.0.0.1:10256/healthz |
| 4 | 转发规则 | iptables-save 或 ipvsadm -Ln 核对 |
节点侧核对
节点侧核对
curl -s http://127.0.0.1:10256/healthz | head -c 100 # 代理健康
ss -lntp | grep -E '10249|10256' # 端口核对
kubectl -n kube-system get pod -l k8s-app=kube-proxy -o wide # 代理 Pod 分布
ipvsadm -Ln | head -20 # ipvs 模式下的转发规则kube-proxy 以 DaemonSet 运行,每个节点一份:节点级问题优先在对应节点上执行命令,用 kubectl logs 看错节点是常见的时间浪费。
健康口返回正常并不代表转发一定可用:规则同步失败时进程本身仍可能健康,因此要把指标与规则核对结合起来看。
节点混用不同转发模式时症状更具迷惑性:表现为部分节点正常、部分异常,先确认模式再逐层排查。
探针参数不要设得过激:大流量节点启动时探针频繁失败会导致重建,反而延长服务恢复时间。
节点级排查要落到具体主机上:把健康口与规则核对结合起来看,同一条命令在不同节点执行结果可能完全不同。
记录每次节点异常时的代理版本与模式:同类故障重复出现时,这些信息能显著缩短定位时间。