9

有人可以详细说明安装kube-dns插件所需的步骤吗?我已经在上一个链接中下载了将近 400MB 的 git repo 并make按照说明运行但得到Nothing to be done for 'all'.

文档不清楚附加组件的存在形式以及如何安装它们。那里的“管理员指南”链接将我带到这个无用的页面。

我试过https://stackoverflow.com/a/42315074/4978821,但收到一条error validating data消息。即使这可行,它似乎也是一个非官方且尴尬的解决方案。

像这样的答案也太模糊了: https ://stackoverflow.com/a/36105547/4978821 。

一旦我有了解决方案,我很乐意创建一个拉取请求来改进文档。

更新以澄清我的问题:

正如 Aaron 所提到的,在 minikube 中默认启用了 dns 插件。运行minikube addons list显示已启用。但是,如果我进入一个正在运行的 pod 的 bash shell,例如kubectl exec -it node-controller-poqsl bash,尝试使用 ping 访问我的 mongo 服务,它会解析为公共 URL,而不是 kubernetes 服务 IP。

4

2 回答 2

7

在 minikube 中默认启用 kube-dns 插件。您可以运行kubectl get po -n kube-system以检查插件管理器启动的 pod 是否存在。minikube addons list如果您没有看到列出的 pod,请通过运行并验证是否kube-dns已在 minikube 中启用了插件enabled

编辑:对我来说kubectl get po -n kube-system是一个有效的命令,这里是输出:

$ kubectl get po -n kube-system
NAME                          READY     STATUS    RESTARTS   AGE
kube-addon-manager-minikube   1/1       Running   2          5d
kube-dns-v20-7ddvt            3/3       Running   6          5d
kubernetes-dashboard-rn54g    1/1       Running   2          5d

从中可以看出 kube-dns pod 运行正常。您能否验证您的 kube-dns pod 是否处于该Running状态?

于 2017-04-01T04:48:40.907 回答
1

此修复仅适用于 VirtualBox 驱动程序 - 确认您的驱动程序

cat ~/.minikube/machines/minikube/config.json | grep DriverName

接受的答案是正确的,默认情况下已安装并启用 kube-dns。但是似乎一个常见的问题是没有创建管理 DNS 的 pod,使得 kube-dns 似乎没有安装。

例如:

$ kubectl get po -n kube-system
kube-addon-manager-minikube   1/1       Running   1          1m

您可以通过以下方式确认 kube-dns 已安装并启用(即使不工作):

$ minikube addons list
- addon-manager: enabled
- dashboard: enabled
- kube-dns: enabled
{snipped}

根本问题与 VirtualBox 相关,如下所述:https ://forums.virtualbox.org/viewtopic.php?f=7&t=50368

使固定:

minikube stop    
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
minikube start

kubectl get all -n kube-system

VM 名称可能是“minikube”。如果最后一个命令没有返回大量 pod(包括 kube-dns 和 kube-dashboard),请稍等片刻——在成功之前我有一些空白结果。

对于 Windows 用户,VBoxManage 默认安装在 c:\Program Files\Oracle\VirtualBox

更多信息,请访问https://superuser.com/questions/641933

于 2018-05-15T15:59:11.823 回答