kubernetes - nslookup:无法解析 kubernetes.default
问题描述
我正在尝试使用https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/在 kubernetes 中学习 DNS
我部署了busybox
kubectl get pods busybox -o wide
NAME READY STATUS RESTARTS AGE IP NODE busybox 1/1 Running 0 16m 10.200.1.5 worker-1
kubectl exec -ti busybox -- nslookup kubernetes.default
Server: 10.32.0.10 Address 1: 10.32.0.10 kube-dns.kube-system.svc.cluster.local nslookup: can't resolve 'kubernetes.default' command terminated with exit code 1
是否需要修改worker-1节点的/etc/resolv.conf文件。目前 /etc/resolv.conf 内容如下
nameserver 169.254.169.254 search c.k8s-project-193906.internal google.internal**
worker-1 lsb_release -a 的版本也没有可用的 LSB 模块。发行商 ID:Ubuntu 描述:Ubuntu 18.04.1 LTS 版本:18.04 代号:仿生
请帮我找出导致解析错误的配置。我是否需要更改 resolve.conf 文件并基于什么?
解决方案
您在最新版本的 busybox docker 镜像中遇到了一个错误。使用标签busybox:1.28
而不是latest
. 这个错误链接在这里:
"Nslookup does not work in latest busybox image"
"1.27/1.28 are working , 1.29/1.29.1 are not"
在这里,标签失败了。busybox:latest
$ kubectl run busybox --image busybox:latest --restart=Never --rm -it busybox -- sh
If you don't see a command prompt, try pressing enter.
/ # 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
/ # exit
pod "busybox" deleted
这是与标签成功的相同命令。busybox:1.28
$ kubectl run busybox --image busybox:1.28 --restart=Never --rm -it busybox -- sh
If you don't see a command prompt, try pressing enter.
/ # 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
/ # exit
pod "busybox" deleted
推荐阅读
- google-cloud-functions - 如何使用签名和公钥验证 TransferWise 有效负载?
- python - 集合的反向插入顺序。具有足够大数据的 OrderedDict
- powershell - 詹金斯 - 将脚本从本地文件夹复制到工作区 - 错误'无法将参数绑定到参数'路径',因为它为空'
- citrix - Citrix DaaS 如何知道谁连接到特定虚拟桌面
- git - 为什么我的分叉坚持我有来自上游的更改,我该如何解决这个问题?
- python - 我怎么知道在写调用后何时缩小文件的大小?
- linux - 无法使用 snap 连接到 ubuntu 中 intellij 中的 docker 守护进程
- ansible - 执行来自不同目录的所有 yaml 文件
- qt - 通过 Qt::QueuedConnection 连接到单个插槽的单个信号的执行顺序
- macos - SwiftUI DragGesture 与位置和起始位置不一致