kubernetes - 无法从Kubernetes Pod访问dns

标签 kubernetes

我在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/

相关文章:

mongodb - Kubernetes/Rancher 2,带有本地存储卷部署的 mongo-replicaset

kubernetes - Kubectl 申请 revHistoryLimit 0 的部署不会删除旧的副本集

docker - 带有kubespray的k8s在dns配置上失败

azure - Azure 中多个子网和/或可用区中的 Kubernetes

kubernetes - EnvoyFilter 排除特定主机

kubernetes - LXD 与生产集群 (Kubernetes) 中的经典 VM

kubernetes - Helm 和 Kustomize 有什么区别?

kubernetes - Configmap - 现有文件被删除

Kubernetes 网页过滤解决方案

kubernetes - 如何正确地将OpenLDAP集成到Keycloak?