Azure AKS节点中Kube-Proxy日志的查看方法及位置咨询
我来帮你解决Azure AKS上查看kube-proxy日志的问题,同时结合你遇到的Nginx Ingress 504超时问题给点排查思路:
查看Azure AKS中kube-proxy日志的两种方法
方法1:通过kubectl直接查看DaemonSet Pod日志
Azure AKS里的kube-proxy默认是以DaemonSet的形式运行在每个节点上的,不需要SSH到节点就能查看日志:
- 先列出kube-system命名空间下的kube-proxy Pod:
kubectl get pods -n kube-system -l k8s-app=kube-proxy - 查看目标Pod的日志,替换
<kube-proxy-pod-name>为实际的Pod名称:kubectl logs <kube-proxy-pod-name> -n kube-system - 如果需要实时跟踪日志,加上
-f参数:kubectl logs -f <kube-proxy-pod-name> -n kube-system
方法2:SSH到AKS节点后查看容器日志
如果你已经SSH到了AKS节点,因为kube-proxy是容器化运行的,需要通过容器运行时工具查看日志:
AKS当前默认使用containerd作为容器运行时,操作步骤如下:
- 找到kube-proxy对应的容器ID:
crictl ps | grep kube-proxy - 查看容器日志,替换
<container-id>为实际的容器ID:crictl logs <container-id> - 实时跟踪日志可以加上
--follow参数:crictl logs --follow <container-id>
如果你的AKS集群是较旧版本,使用Docker作为容器运行时,可以用以下命令:
docker ps | grep kube-proxy docker logs <container-id> # 实时跟踪加-f参数 docker logs -f <container-id>
结合你的Nginx Ingress 504超时问题的排查提示
针对你遇到的"服务闲置5-10分钟后返回504,再次访问恢复"的问题,查看kube-proxy日志时可以重点关注这些内容:
- 查找连接超时、连接重置相关的日志条目,看是否在闲置时间段内有连接被kube-proxy主动清理的记录
- 检查kube-proxy使用的模式(IPVS或iptables)对应的超时配置:比如IPVS默认的TCP连接超时是900秒(15分钟),如果你的超时时间在5-10分钟,可能需要结合Nginx Ingress的
proxy-read-timeout、proxy-send-timeout配置一起排查,确认是否是Ingress端的超时先触发,或者kube-proxy的连接跟踪规则导致连接被提前关闭
内容的提问来源于stack exchange,提问作者Necevil
相关产品推荐
相关产品推荐

