我在Win 10的两个centos虚拟机中有一个kubernetes主节点和节点设置。
我将法兰绒用于CNI,并部署了大使作为API网关。
由于大使路线不起作用,因此我进一步分析以了解无法从busybox pod访问DNS(ip-10.96.0.10),这意味着无法访问任何服务名称。请给我任何建议。
最佳答案
1. 您应该使用最新版本的Flannel。
Flannel不会设置服务IP,但是kube-proxy会设置,您应该查看节点上的kube-proxy并确保它们未报告错误。
我建议您查看https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#tabs-pod-install-4并确保您满足那里所述的要求。
类似的问题,但使用Calico插件,您可以在这里找到:https://github.com/projectcalico/calico/issues/1798
2. 检查是否打开了端口8285,法兰绒使用UDP端口8285发送封装的IP数据包。确保启用此流量在主机之间传递。
3. 大使提供了集成的诊断服务,可帮助您进行故障排除,这可能对您有用。默认情况下,这不会暴露给Internet。要查看它,我们需要获取大使 pods 之一的名称:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
ambassador-3655608000-43x86 1/1 Running 0 2m
ambassador-3655608000-w63zf 1/1 Running 0 2m
将本地端口8877转发到其中一个Pod:
kubectl port-forward ambassador-3655608000-43x86 8877
然后,我们将在http://localhost:8877/ambassador/v0/diag/上查看诊断信息。
第一点应该可以解决您的问题,否则请尝试解决其他问题。
我希望这有帮助。
关于kubernetes - 无法从Kubernetes Pod访问dns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55374541/