k8s实现外部访问minikube集群

打印 上一主题 下一主题

主题 523|帖子 523|积分 1569

minikube部署对外访问配置

我们现在大家都知道了 minikube集群相当于k8s的一个捏造机。
同时pod每次消亡重建之后都会分配一个捏造的ip,这个ip可供集群内部访问,但是如果要对外访问呢?
我们可以给他暴露ip出来,但是如果pod宕机后重建ip就发生了变化,所以不能对pod举行ip的暴露。
那应该对什么举行暴露呢?
我们起首必要相识service,简而言之,为相识决pod动态变化的捏造ip,因此service 相当于某组pod的外部访问接口。因此我们对service为单位举行ip的暴露即可。这同时也办理了在minikube中一开始学习的时候必须要进入minikube之后才可以访问pod的题目。
图片取自黑马
  1. lucky@thinkcentre:/work/k8s$ kubectl expose deploy nginx --name=svc-nginx1 --type=ClusterIP --port=80 --target-port=80 -n dev
  2. service/svc-nginx1 exposed
  3. lucky@thinkcentre:/work/k8s$ kubectl get svc svc-nginx1 -n dev -o wide
  4. NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE   SELECTOR
  5. svc-nginx1   ClusterIP   10.111.120.200   <none>        80/TCP    30s   run=nginx
  6. lucky@thinkcentre:/work/k8s$ curl 10.111.120.200:80
  7. ^C
  8. lucky@thinkcentre:/work/k8s$ minikube ssh
  9. Last login: Thu Mar  9 10:23:21 2023 from 192.168.49.1
  10. docker@minikube:~$ curl 10.111.120.200:80
  11. <!DOCTYPE html>
  12. <html>
  13. <head>
  14. <title>Welcome to nginx!</title>
  15. <style>
  16. html { color-scheme: light dark; }
  17. body { width: 35em; margin: 0 auto;
  18. font-family: Tahoma, Verdana, Arial, sans-serif; }
  19. </style>
  20. </head>
  21. <body>
  22. <h1>Welcome to nginx!</h1>
  23. <p>If you see this page, the nginx web server is successfully installed and
  24. working. Further configuration is required.</p>
  25. <p>For online documentation and support please refer to
  26. <a href="http://nginx.org/">nginx.org</a>.<br/>
  27. Commercial support is available at
  28. <a href="http://nginx.com/">nginx.com</a>.</p>
  29. <p><em>Thank you for using nginx.</em></p>
  30. </body>
  31. </html>
  32. docker@minikube:~$
复制代码
上面暴露端口的方式是clusterIp,因此还是只是集群内部可以访问,只不外相比较上一节minikube外部无法访问pod来说没有实质性的改变,改变的只不外是访问svc从而访问高可用pod。因此我们想要minikube外部可以访问的话,就必要将type修改为NodePort
  1. kubectl expose deploy nginx --name=svc-nginx2 --port=80 --target-port=80 --type=NodePort -n dev
  2. # port-forward 端口转发且允许任意ip访问
  3. kubectl port-forward --address 0.0.0.0 -n dev service/svc-nginx2 80:80
复制代码
执行上述命令后 即可在同一网段内访问nginx,不受minikube限制,如果想让外网访问,则必要对80端口做一个内网穿透,参考我之前的文章即可。
着实从port-forward可以看出本质是端口转发到主机而已


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表