我想设置一个本地 Kubernetes 集群以在 macOS 上进行测试。我选择了Canonical提供的microk8s。Kubernetes 不在 macOS 上原生运行,而是使用 multipass 提供的 Linux VM。
安装很顺利,kubernetes-bootcamp的部署似乎很有效。这是我到目前为止得到的输出:
microk8s kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 5h9m
kubernetes-bootcamp NodePort 10.152.183.226 <none> 8080:31004/TCP 4h10m
multipass list
Name State IPv4 Image
microk8s-vm Running 192.168.64.2 Ubuntu 18.04 LTS
ping 实例ping 192.168.64.2
按预期工作。
更新:我通过在 VM 中安装 nginx 进一步测试了连接性。在 macOS 上出现了使用curl http://192.168.64.2
VM 内的 nginx 起始页。
现在,当我使用 shell 进入 VM 时multipass exec microk8s-vm -- bash
,我可以curl
按预期进入我部署的服务:
curl http://127.0.0.1:31004
curl http://10.152.183.226:8080
得到预期的结果:
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-57978f5f5d-d977w | v=1
但是我错过了从 macOS(curl 和浏览器)访问这些 url 的步骤。我尝试不成功:
curl http://10.152.183.226:8080
curl http://10.152.183.226:31004
curl http://192.168.64.2:8080
curl http://192.168.64.2:31004
我显然错过了从 macOS 主机访问正在运行的服务的步骤。我错过了什么?非常感谢您的帮助!