如何为 minikube 安装 kube-dns 插件?
How does one install the kube-dns addon for minikube?
有人可以详细说明安装 kube-dns 插件的必要步骤吗?我已经按照指示在之前的 link 和 运行 make
中下载了将近 400MB git 的存储库,但得到 Nothing to be done for 'all'.
文档不清楚附加组件的形式以及如何安装它们。 "Administrators guide" link 将我带到 this 无用的页面。
我已经尝试 ,但收到 error validating data
消息。即使这行得通,这似乎也是一个非正式且笨拙的解决方案。
这样的回答也太含糊了:.
一旦我有了解决方案,我很乐意创建一个拉取请求来改进文档。
已更新以澄清我的问题:
正如 Aaron 所提到的,dns 插件在 minikube 中默认是启用的。 运行 minikube addons list
表示已启用。但是,如果我进入 bash shell 用于 运行ning pod,例如 kubectl exec -it node-controller-poqsl bash
并尝试使用 ping 访问我的 mongo 服务,例如,它解析为 public URL,而不是 kubernetes 服务 IP。
kube-dns 插件应该在 minikube 中默认启用。您可以 运行 kubectl get po -n kube-system
检查插件管理器启动的 pod 是否存在。如果您没有看到列出的 pod,请确保通过 运行ning minikube addons list
在 minikube 中启用插件并验证 kube-dns
是 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 pods 运行 正确。你能验证你的 kube-dns pods 处于 Running
状态吗?
此修复仅适用于 VirtualBox 驱动程序 - 使用
确认您的驱动程序
cat ~/.minikube/machines/minikube/config.json | grep DriverName
接受的答案是正确的,默认情况下安装并启用了 kube-dns。但是管理DNS的pods似乎是一个普遍的问题,没有创建,看起来好像没有安装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"。
如果最后一个命令没有 return 一大串 pods (包括 kube-dns 和 kube-dashboard),请稍等片刻 - 在成功之前我有一些空白结果。
对于 Windows 用户,VBoxManage 默认安装在 c:\Program Files\Oracle\VirtualBox
有人可以详细说明安装 kube-dns 插件的必要步骤吗?我已经按照指示在之前的 link 和 运行 make
中下载了将近 400MB git 的存储库,但得到 Nothing to be done for 'all'.
文档不清楚附加组件的形式以及如何安装它们。 "Administrators guide" link 将我带到 this 无用的页面。
我已经尝试 error validating data
消息。即使这行得通,这似乎也是一个非正式且笨拙的解决方案。
这样的回答也太含糊了:
一旦我有了解决方案,我很乐意创建一个拉取请求来改进文档。
已更新以澄清我的问题:
正如 Aaron 所提到的,dns 插件在 minikube 中默认是启用的。 运行 minikube addons list
表示已启用。但是,如果我进入 bash shell 用于 运行ning pod,例如 kubectl exec -it node-controller-poqsl bash
并尝试使用 ping 访问我的 mongo 服务,例如,它解析为 public URL,而不是 kubernetes 服务 IP。
kube-dns 插件应该在 minikube 中默认启用。您可以 运行 kubectl get po -n kube-system
检查插件管理器启动的 pod 是否存在。如果您没有看到列出的 pod,请确保通过 运行ning minikube addons list
在 minikube 中启用插件并验证 kube-dns
是 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 pods 运行 正确。你能验证你的 kube-dns pods 处于 Running
状态吗?
此修复仅适用于 VirtualBox 驱动程序 - 使用
确认您的驱动程序cat ~/.minikube/machines/minikube/config.json | grep DriverName
接受的答案是正确的,默认情况下安装并启用了 kube-dns。但是管理DNS的pods似乎是一个普遍的问题,没有创建,看起来好像没有安装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"。 如果最后一个命令没有 return 一大串 pods (包括 kube-dns 和 kube-dashboard),请稍等片刻 - 在成功之前我有一些空白结果。
对于 Windows 用户,VBoxManage 默认安装在 c:\Program Files\Oracle\VirtualBox