DNS
本文列出的命令/步骤可用于检查集群中的名称解析问题。
请确保你配置了正确的 kubeconfig(例如,为 Rancher HA 配置了 export KUBECONFIG=$PWD/kube_config_cluster.yml
)或通过 UI 使用了嵌入式 kubectl。
在运行 DNS 检查之前,请检查集群的默认 DNS 提供商,并确保覆盖网络正常运行,因为这也可能导致 DNS 解析(部分)失败。
检查 DNS pod 是否正在运行
kubectl -n kube-system get pods -l k8s-app=kube-dns
使用 CoreDNS 时的示例输出:
NAME READY STATUS RESTARTS AGE
coredns-799dffd9c4-6jhlz 1/1 Running 0 76m
使用 kube-dns 时的示例输出:
NAME READY STATUS RESTARTS AGE
kube-dns-5fd74c7488-h6f7n 3/3 Running 0 4m13s
检查 DNS 服务是否显示正确的 cluster-ip
kubectl -n kube-system get svc -l k8s-app=kube-dns
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP 4m13s