87
社区成员




如 DNS 解析异常,请参照诊断 Kubernetes DNS 解析进行故障排除:
Copy
dig ${HOSTNAME}
使用 ping
命令诊断到目的 IP 的三层网络是否连通(目的 IP 为使用 dig
解析出的 Pod IP):
Copy
ping ${TARGET_IP}
假如 ping 检查失败,请参照诊断 Kubernetes 网络进行故障排除。
假如 ping 检查正常,继续使用 telnet
检查目标端口是否打开:
Copy
telnet ${TARGET_IP} ${TARGET_PORT}
假如 telnet
检查失败,则需要验证 Pod 的对应端口是否正确暴露以及应用的端口是否配置正确:
Copy
# 检查端口是否一致
kubectl -n ${namespace} get po ${pod_name} -ojson | jq '.spec.containers[].ports[].containerPort'
# 检查应用是否被正确配置服务于指定端口上
# PD, 未配置时默认为 2379 端口
kubectl -n ${namespace} -it exec ${pod_name} -- cat /etc/pd/pd.toml | grep client-urls
# TiKV, 未配置时默认为 20160 端口
kubectl -n ${namespace} -it exec ${pod_name} -- cat /etc/tikv/tikv.toml | grep addr
# TiDB, 未配置时默认为 4000 端口
kubectl -n ${namespace} -it exec ${pod_name} -- cat /etc/tidb/tidb.toml | grep port
关于正方面的内容,如果想了解更多的话,我整理了一下,大家可以看看这个:
https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/network-issues