gpt4 book ai didi

networking - Openshift/Kubernetes kube dns 最佳实践 (ndots = 5)

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

我已经使用 Openshift/Kubernates 一段时间了,这是我的理解。用于服务到服务的通信

  • 如果它们在同一命名空间下,则使用 ${service-name} 的 DNS 名称
  • 如果它们来自不同的命名空间(已加入网络),则使用 ${service-name}.${namespace}.svc.cluster.local 的 DNS 名称

最近我被介绍了“我们应该在 svc.cluster.local 之后添加一个点以使其成为 FQDN,以获得更好的 DNS 查找速度”的主题。做了一些测试,确实使用点进行查找要快得多。 (~100ms 没有点,10ms 有点)

经过一些研究,这是由 kubernates 的默认 dns 设置引起的

sh-4.2$ cat /etc/resolv.conf
search ${namespace}.svc.cluster.local svc.cluster.local cluster.local
nameserver X.X.X.X
options ndots:5

如果 dns 名称不包含 5 个点,ndots = 5 将执行本地搜索(顺序)。在 ${service-name}.${namespace}.svc.cluster.local 的情况下,本地搜索将如此

  1. ${service-name}.${namespace}.svc.cluster.local + ${namespace}.svc.cluster.local//查找失败
  2. ${service-name}.${namespace}.svc.cluster.local + svc.cluster.local//查找失败
  3. ${service-name}.${namespace}.svc.cluster.local + cluster.local//查找失败
  4. ${service-name}.${namespace}.svc.cluster.local//成功查找

对于 ${service-name}.${namespace}.svc.cluster.local.,本地搜索也是如此

  1. ${service-name}.${namespace}.svc.cluster.local//成功查找

引用资料

  1. link
  2. how to debug

问题:

  1. 因为 ndots = 5 是 kubernetes 的默认设置,为什么 ${service-name}.${namespace}.svc.cluster.local. 不是记录在官方方面?
  2. 我们应该将所有服务调用更改为 ${service-name}.${namespace}.svc.cluster.local. 吗?任何潜在的缺点?

最佳答案

Since the ndots = 5 is the default setting for kubernetes, why${service-name}.${namespace}.svc.cluster.local. is not documented onthe official side ?

好吧,这是一个非常好的问题。我搜索了官方文档,看起来这不是一个记录的功能。出于这个原因,发布您的疑问和请求改进文档的更好的地方是 Kubernetes DNS 的官方 GitHub 站点.

Should we change all service call to${service-name}.${namespace}.svc.cluster.local. ? any potentialdownsides ?

如果它适合您并且确实提高了性能,我会说 - 为什么不呢? 我在这里看不到任何潜在的缺点。通过添加最后一个点,如果您以 ${service-name}.${namespace }.svc.cluster.local

从你描述的查找过程和你的测试中推断,我猜如果你只使用 ${service-name} (当然只在相同的 namespace 中),dns查找也应该更快,更接近您在使用 ${namespace}.svc.cluster.local svc.cluster.local cluster.local. 时观察到的那些 10ms它在第一次迭代中匹配。

关于networking - Openshift/Kubernetes kube dns 最佳实践 (ndots = 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63315217/

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