[英]Connecting Azure Container instances with AKS pods via the AKS dns
我无法从 Azure 容器实例访问 k8s 中的 DNS 服务器
语境:
我在 Azure AKS Kubernetes 集群中有 2 个 pod。
Pod1:名称 = pod1,内部 IP = 10.34.33.112
Pod2:名称 = pod2,内部 IP = 10.34.33.155,集群 IP = 10.34.104.109
AKS DNS 服务 ip = 10.34.96.58
所以,从 pod1,我希望nslookup pod2
会返回
(这按预期工作)
/ # nslookup pod2
Server: 10.34.96.58
Address: 10.34.96.58:53
Name: pod2.default.svc.cluster.local
Address: 10.34.104.109
Azure 容器实例:当我从容器实例运行命令时,ping 到 pod2 的内部 IP 有效。
这是因为它们通过网络配置文件位于同一个虚拟网络中
# ping 10.34.33.155
PING 10.34.33.155 (10.34.33.155): 56 data bytes
64 bytes from 10.34.33.155: seq=0 ttl=63 time=2.208 ms
64 bytes from 10.34.33.155: seq=1 ttl=63 time=1.101 ms
然而,
# nslookup pod2.default.svc.cluster.local 10.34.96.42
;; connection timed out; no servers could be reached
即使我为 pod 指定了名称服务器和完整的 url,也无法访问。 我无法确定阻塞发生的位置。
有任何想法吗? 或最佳实践?
我很确定 AKS dns 服务只能在集群内使用。
这是我要做的:
第三步是您可以手动执行的操作,也可以在每次部署时自动执行,方法是使用 Azure CLI 任务扩展部署脚本,您可以在其中配置 Azure 私有 DNS 区域记录。 这取决于您的情况:这是一个 POC 还是纯粹的运营项目,或者更像是一个不断发展的、带有 CI/CD 的 DevOps 繁重的环境等等。
注意:我不太了解您的业务需求,但我怀疑您是否真的想使用服务 IP 而不是 pod IP。 但也有例外,所以如果你知道你在做什么,请忽略我:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.