运行 kubectl 日志命令时出现 10250 I/O 超时错误

TCP 超时可能是由节点之间运行的内部流量阻塞引起的。 若要调查 TCP 超时,请验证此流量是否未被阻止,例如, 群集节点的子网上的网络安全组 (NSG)。

连接至群集

首先,运行以下命令连接到 Azure Kubernetes 服务(AKS)群集:

export RESOURCE_GROUP=<your-resource-group>
export CLUSTER_NAME=<your-cluster-name>

az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME

现象

隧道功能(如 kubectl logs 代码执行)仅适用于部署隧道服务 Pod 的节点上托管的 Pod。 没有隧道服务 Pod 的其他节点上的 Pod 无法访问隧道。 查看这些 Pod 的日志时,会收到以下错误消息:

kubectl logs $POD_NAME

结果:

Error from server: Get "https://aks-agentpool-xxxxxxxxx-vmssxxxxxxxxx:10250/containerLogs/vsm-mba-prod/mba-api-app-xxxxxxxxxx/technosvc": dial tcp <IP-Address>:10250: i/o timeout

解决方案

若要解决此问题,请根据 本文中所述,允许端口 10250 上的流量。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区