Kubernetes如何确认DNS正在运行

问题描述 投票:1回答:2

我已经在Windows上使用MiniKube成功创建了Kubernetes POD /服务。但我现在想确保DNS正常工作。

DNS服务显示为正在运行

.\kubectl get pod -n kube-system

这告诉我kube-dns pod正在运行

enter image description here

我还将DNS添加显示为正在运行

enter image description here

所以我想验证DNS是否正常工作,理想情况下我想测试在其上有服务的POD可以通过DNS名称查找服务。

但是我开始这样简单,我得到了运行的POD

enter image description here

所以现在我有了我的POD名称,我想尝试使用以下命令在其中进行简单的DNS查找

.\kubectl exec simple-sswebapi-pod-v1-f7f8764b9-xs822 -- nslookup google.com

我正在使用kubectl exec尝试在找到的POD中运行此nslookup(运行我应该在上面指出)。

但是我得到了这个错误

enter image description here

为什么它无法在POD中找到nslookup。所有关键的事情似乎都没问题

  • Kube-DNS pod正在运行(如上所示)
  • DNS AddOn已安装并正在运行(如上所示)

我缺少什么,是否还有其他东西需要启用DNS查找才能在我的POD中工作?

dns kubernetes
2个回答
1
投票

要像这样做,您的容器需要包含您要在构建的图像中使用的命令。

旁注:kubectl debug将在不久的将来https://github.com/kubernetes/kubernetes/issues/45922进入kube,它将帮助您解决类似问题,方法是将自定义容器附加到现有pod并在其中进行调试


1
投票

更多关于这一点,我将busybox安装到POD中以允许我使用nslookup,这使我能够这样做

enter image description here

所以这看起来很酷,但是我不能通过其IP地址或其DNS名称来ping该服务,这似乎正好解决了如上所示。

如果我在busybox命令提示符下ping google.com一切正常,但是当我为这个DNS名称服务的IP地址执行ping操作时,它永远不会到达任何地方。

DNS查找显然正在运行。我错过了什么?

© www.soinside.com 2019 - 2024. All rights reserved.