我们可以使用Kube-DNS服务解决外部域名

发布于 2025-01-17 14:49:51 字数 335 浏览 0 评论 0原文

由于我是 kubernetes 及其 DNS 服务的新手,如果有人帮助澄清下面的问题,那就太好了。我从 kubernetes 文档中了解到,kube-dns 支持“服务”和“pod”记录,并用于解析服务或 pod 的域名。

在 Pod 中,很少有容器正在运行。我需要这些容器使用 kube-dns 解析一些外部域。现在,我如何使用 kube-dns 来制作容器来解析此类外部域名? kubernetes 提供的 dns 服务器是否仅用于 kubernetes 内的域解析?或者有没有办法自定义 kubernetes 提供的 dns 来解析外部域?如果是的话如何定制?

如果有人帮助解除我的查询,这可能会非常有帮助。提前致谢!!!

As I am new to kubernetes and its DNS service, it would be great if someone helps to clarify the question below. I understand from the kubernetes documentation that kube-dns supports 'services' and 'pods' records and uses to resolve domain names of services or pods.

In a pod, few containers are running. I need those containers to resolve few external domains using kube-dns. Now, how can I use kube-dns to make containers to resolve such external domain names? Do the kubernetes provides dns server only for the resolution of domains within kubernetes? Or is there a way to customize kubernetes provided dns to resolve external domains? If so how to customize it?

It could be really helpful if someone helps to unblock my queries. Thanks in advance!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浸婚纱 2025-01-24 14:49:51

您应该首先查看 pod 的 DNS 策略。来自我在下面分享的文档

可以针对每个 Pod 设置 DNS 策略。目前 Kubernetes 支持以下特定于 pod 的 DNS 策略。这些策略在 Pod 规范的 dnsPolicy 字段中指定。

  • 默认”:Pod 从运行 Pod 的节点继承名称解析配置。有关详细信息,请参阅相关讨论。
  • ClusterFirst”:任何与配置的集群域后缀(例如“www.kubernetes.io”)不匹配的 DNS 查询都会转发到从该节点继承的上游名称服务器。集群管理员可能配置了额外的存根域和上游 DNS 服务器。有关在这些情况下如何处理 DNS 查询的详细信息,请参阅相关讨论。
  • ClusterFirstWithHostNet”:对于使用 hostNetwork 运行的 Pod,您应显式设置其 DNS 策略“ClusterFirstWithHostNet”。
    “None”:它允许 Pod 忽略 Kubernetes 环境中的 DNS 设置。所有 DNS 设置都应该使用 Pod 规范中的 dnsConfig 字段提供。请参阅下面 Pod 的 DNS 配置小节。
  • 注意:“默认”不是默认 DNS 策略。如果未明确指定 dnsPolicy,则使用“ClusterFirst”。

然后您可以根据您的需要配置 CoreDNS configmap forward 选项。这个文档将帮助您理解。

转发:任何不在 Kubernetes 集群域内的查询都将转发到预定义的解析器 (/etc/resolv.conf)。

You should take a look first pod's DNS Policy. From the documentation, I shared below.

DNS policies can be set on a per-pod basis. Currently Kubernetes supports the following pod-specific DNS policies. These policies are specified in the dnsPolicy field of a Pod Spec.

  • "Default": The Pod inherits the name resolution configuration from the node that the pods run on. See related discussion for more details.
  • "ClusterFirst": Any DNS query that does not match the configured cluster domain suffix, such as "www.kubernetes.io", is forwarded to the upstream nameserver inherited from the node. Cluster administrators may have extra stub-domain and upstream DNS servers configured. See related discussion for details on how DNS queries are handled in those cases.
  • "ClusterFirstWithHostNet": For Pods running with hostNetwork, you should explicitly set its DNS policy "ClusterFirstWithHostNet".
    "None": It allows a Pod to ignore DNS settings from the Kubernetes environment. All DNS settings are supposed to be provided using the dnsConfig field in the Pod Spec. See Pod's DNS config subsection below.
  • Note: "Default" is not the default DNS policy. If dnsPolicy is not explicitly specified, then "ClusterFirst" is used.

Then you can configure CoreDNS configmap forward option according to your needs. This documentation will help you to understand.

forward: Any queries that are not within the cluster domain of Kubernetes will be forwarded to predefined resolvers (/etc/resolv.conf).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文