【发布时间】:2017-11-16 19:18:32
【问题描述】:
我们在 Azure 公共云中部署了一个使用 ACS 引擎的 K8S 集群。 我们能够创建部署和服务,但是当我们使用“kubectl exec -ti (pod name) (command)”进入 pod 时,我们会收到以下错误,
来自服务器的错误:错误拨号后端:拨打 tcp:在 168.63.129.16:53 上查找(节点主机名):没有这样的主机
我查看了整个互联网并尽我所能来解决这个问题,但到目前为止还没有运气。 操作系统是 Ubuntu,168.63.129.16 是 Azure 用于 DNS 的公共 IP。(请参阅下面的链接)
https://blogs.msdn.microsoft.com/mast/2015/05/18/what-is-the-ip-address-168-63-129-16/
我已经在 /etc/hosts 中添加了主机条目,并在主节点服务器的 resolv.conf 中添加了条目,nslookup 解决了同样的问题。我还通过向 kubelet 添加 --resolv-conf 标志进行了测试,但仍然失败。我希望这个社区的人可以帮助我们解决这个问题。
【问题讨论】:
-
据我所知,如果您为命名空间提供有限的 resourcesQuota,那么您会在那里创建资源数量,例如部署、Pod、服务、PVC 等。因此,所有的 resourcesQuota 都会被消耗通过这些 k8s 资源。现在,如果您尝试通过使用另一个 api 调用或请求来消耗更多的资源配额。在您的情况下,您使用的是“kubectl exec -ti (pod name) (command)”,那么它会被准入控制器拒绝。我建议您解决资源配额限制。您还可以进一步使用准入控制器进行挖掘。也许有一个标志可以忽略它
-
你能运行任何其他
kubectl命令吗? -
@Rico 是的,我们能够运行其他 kubectl 命令并且它们工作正常。
标签: azure dns kubernetes kubectl kube-dns