gpt4 book ai didi

kubernetes - 如何使用 minikube 的 DNS?

转载 作者:行者123 更新时间:2023-12-02 11:30:35 24 4
gpt4 key购买 nike

我如何使用 minikube(集群)的 DNS?我想接收与所选 headless 服务的所有 Pod 关联的所有 IP 地址?我不想将它暴露在集群之外。我目前正在创建后端层。

如以下答案所述:
What exactly is a headless service, what does it do/accomplish, and what are some legitimate use cases for it?

“DNS 服务器不会返回单个 DNS A 记录,而是为该服务返回多个 A 记录,每个记录都指向当时支持该服务的单个 Pod 的 IP。”

因此后端层中的 Pod 可以相互通信。

我不能使用 dig 命令。它没有安装在 minikube 中。最后我该如何安装它?没有可用的 apt。

我希望这更准确地解释了我想要实现的目标。

最佳答案

您提到您希望接收与所选服务名称的 pod 关联的 IP 地址,以测试 headless 服务的工作方式。

仅出于测试目的,您可以使用端口转发。您可以将流量从本地机器转发到集群中的 dns pod。为此,您需要运行:

kubectl port-forward svc/kube-dns -n kube-system 5353:53

它将在您的主机上公开 kubs-dns 服务。那么你所需要的就是使用 dig命令(或替代方法)来查询 dns 服务器。
dig @127.0.0.1 -p 5353 +tcp +short <service>.<namespace>.svc.cluster.local

您还可以从集群内部测试您的 dns,例如通过使用交互式 shell 运行 pod:
kubectl run --image tutum/dnsutils dns -it --rm -- bash
root@dns:/# dig +search <service>

让我知道它有帮助。

关于kubernetes - 如何使用 minikube 的 DNS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58980252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com