Adg*_*aza 14 macos multipass kubernetes skaffold microk8s
我正在运行带有 multipass hyperkit 的 Ubuntu VM,并且运行 microk8s。在 VM 内,所有内容均可通过 skaffold/kubectl 端口转发进行检查和使用。例如:
\n$ multipass list\nName State IPv4 Image\nmicrok8s-vm Running 192.168.64.2 Ubuntu 20.04 LTS\n 10.0.1.1\n 172.17.0.1\n 10.1.254.64\n
Run Code Online (Sandbox Code Playgroud)\nPort forwarding service/my-app in namespace default, remote port 80 -> 127.0.0.1:4503
在虚拟机内:curl localhost:4503
\xe2\x9c\x85
来自主持人:curl 192.168.64.2:4503
我知道虚拟机可以通过端口 80 访问,因为curl 192.168.64.2
返回默认的 ngnix 未找到页面。FWIW 我从未安装过 ngnix 并且该服务似乎没有运行/无法将其关闭。
我已经在这个问题上呆了一天了,我被难住了。我什至尝试了 Vbox 驱动程序并手动配置了桥接适配器。我什至创建了自己的适配器......
\n$ multipass exec -- microk8s-vm sudo bash -c "cat > /etc/netplan/60-bridge.yaml" <<EOF\nnetwork:\n ethernets:\n enp0s8: # this is the interface name from above\n dhcp4: true\n dhcp4-overrides: # this is needed so the default gateway\n route-metric: 200 # remains with the first interface\n version: 2\nEOF\n$ multipass exec microk8s-vm sudo netplan apply\n
Run Code Online (Sandbox Code Playgroud)\n如何从主机访问该虚拟机?
\n你无法像这样访问你的 pod ip /port。如果要通过节点 IP 地址访问 Pod 端口,则需要定义服务类型 NodePort,然后使用 ipaddressOfNode:NodePort。
curl http://ipaddressOfNode:NodePort
Run Code Online (Sandbox Code Playgroud)
使用端口转发,您必须使用主机系统的本地主机。
kubectl port-forward svc/myservice 8000:yourServicePort
Run Code Online (Sandbox Code Playgroud)
然后
curl http://localhost:8000
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2845 次 |
最近记录: |