Jos*_*ang 1 docker kubernetes minikube
我在 Windows 10 上使用 docker desktop 和 minikube。我使用minikube docker-env如下命令找到了本地 docker 存储库的 IP 地址,
> minikube docker-env
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://172.17.105.232:2376
SET DOCKER_CERT_PATH=C:\Users\joseph\.minikube\certs
SET MINIKUBE_ACTIVE_DOCKERD=minikube
REM To point your shell to minikube's docker-daemon, run:
REM @FOR /f "tokens=*" %i IN ('minikube -p minikube docker-env') DO @%i
Run Code Online (Sandbox Code Playgroud)
并且我将 docker daemon 的 ip 地址设置为上述DOCKER_HOST值,而不是localhost我可以使用本地构建的 docker 图像而不会出错。但是在 minikube 仪表板的情况下,当我输入minikube dashboard命令时,IP 地址总是 localhost(127.0.0.1) 。所以我无法生成 kubernetes 命名空间和持久卷。它抛出错误
服务器找不到请求的资源
我认为这个问题是不同IP地址的授权问题。如何在 minukube 仪表板上配置静态或特定 ip 地址和端口号,以便我可以在 minikube 仪表板上生成命名空间和持久卷而不会出现此类错误?
如果我理解正确,您正在尝试从远程主机访问 kubernetes 仪表板。运行时minikube dashboard,minikube binary 在后台运行kubectl proxy命令。
默认情况下运行kubectl proxy绑定到本地机器的环回接口,因此它不能从外部访问。
您不能更改 minikube cli bahaviour(不更改源代码),但您可以做的是记下仪表板的路径:
/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Run Code Online (Sandbox Code Playgroud)
kubectl proxy并由您自己添加--address带0.0.0.0值的参数运行。
所以现在运行这个你会看到:
$ kubectl proxy --address 0.0.0.0
Starting to serve on [::]:8001
Run Code Online (Sandbox Code Playgroud)
现在打开远程主机上的浏览器并转到:
<your-host-external-ip>:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Run Code Online (Sandbox Code Playgroud)
就是这样。如果有帮助,请告诉我。
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |