jac*_*ack 5 kubernetes coredns azure-aks
我已经使用 kubenet 插件设置了 Azure Kubernetes 集群。所有 Pod 和服务都在运行。另外,当我执行 a 时,kubectl get pods -n kube-system
所有 Pod 都在运行。
我遇到的问题是,pod 无法通过主机名连接到其他 pod。但是,如果我使用 pod ip 地址:端口名,它们就能够连接。
当我登录到 pod 并执行 curl ex 时:
pod-x$ curl http://my-pod-y:2000/analysis
我收到错误:
无法解析主机http://my-pod-y
但是,当我删除所有具有 kube-system 命名空间的 coredns pod,并在 pod 中重试curl 命令时,它们能够使用主机名访问其他 pod!
但是当我在 10 分钟后尝试时,它给出了无法解析主机错误。
对此的任何指示将不胜感激。
Kuberentes 对 POD 使用不同的 DNS 方案。
默认 NS 中 IP 为 172.17.0.3 的 Pod 的 DNS 架构为:
172-17-0-3.default.pod.cluster.local
pod-ip-address.namespace.pod.cluster-domain.example
Run Code Online (Sandbox Code Playgroud)
如果您想使用 DNS 名称,则必须使用服务。对于默认 NS 中的服务测试,DNS 记录为:
test.default.svc.cluster.local
svc.namespace.svc.cluster-domain.example
Run Code Online (Sandbox Code Playgroud)
您可以在这里检查:https ://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
归档时间: |
|
查看次数: |
2471 次 |
最近记录: |