nslookup 无法在最新的 busybox 上获取服务 ip

nslookup can not get service ip on latest busybox

重现步骤:

  1. kubectl run busybox1 --generator=run-pod/v1 --image=busybox:1.28 -- sleep 3600
  2. kubectl run busybox2 --generator=run-pod/v1 --image=busybox:1.31.1 -- sleep 3600
  3. kubectl exec -ti busybox1 -- nslookup kubernetes.default

工作正常

Server: 10.96.0.10

Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name: kubernetes.default

Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local

  1. kubectl exec -ti busybox2 -- nslookup kubernetes.default

不工作

Server: 10.96.0.10 Address: 10.96.0.10:53

** server can't find kubernetes.default: NXDOMAIN

*** Can't find kubernetes.default: No answer

command terminated with exit code 1

nslookup 在 1.31.1 上的工作方式是否不同?

在 1.31.1 上使用 nslookup 的正确方法是什么?

busybox 中的 DNS 只能在图像 <= 1.28.4 中正常工作。

修复版本 image: "busybox:1.28.0" 应该可以解决问题。

这里有一个话题https://github.com/kubernetes/kubernetes/issues/66924