本系列将会包含多篇文章,敬请期待。
大魏在笔记本上安装了双节点的K8S集群,K8S版本为1.20.2:
SDN使用Calico、Ingress使用NGINX:
部署NGINX的链接:https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal
K8S中的Ingress通过URL来区分不同的应用:
在OpenShift中,Ingress默认是HAproxy,它以hostnetwork方式运行在OCP宿主机上。
而在私有云中,K8S的Ingress需要以NodePort的方式运行:
我们部署一个应用进行验证。
#cat cafe.yaml
#kubectl apply -f cafe.yaml
部署成功后,先查看pod:
接下来,创建Ingress。请注意创建ingress时候指定的主机。host 就是用不同 hostname 分发流量,path 就是同一个域名分发不同流量给不同的 svc。
#kubectl create ingress wp --rule="node.example.com/tea=tea-svc:80"
使用Curl验证访问应用:
[root@master wp]# curl http://node.example.com:32245/tea
NodePort方式看起来不太优雅。因此通常在Ingress之前配置负载均衡。LB转发 host 到对应的端口。例如我们通过HAproxy做转发,转发时可以指定后端主机名和端口号以及Weight值。让HAproxy中设置的前端为80(实现优雅访问),类似:
下一篇,K8S实现四层Ingress访问。
本文分享自微信公众号 - 大魏分享(david-share)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。