Ingress暴露服务的方式
方式—∶ Deployment+LoadBalancer模式的Service:
????????如果要把ingress部署在公有云,那用這種方式比較合適。用Deployment部署ingress-controller,創建一個type為LoadBalancer的service關聯這組pod。大部分公有云,都會為LoadBalancer的service自動創建一個負載均衡器,通常還綁定了公網地址。只要把域名解析指向該地址,就實現了集群服務的對外暴露。
方式二∶DaemonSet+HostNetwork+nodeselector
????????用DaemonSet結合nodeselector來部署ingress-controller到特定的node上,然后使用HostNetwork直接把該pod與宿主機node的網絡打通,直接使用宿主機的80/433端口就能訪問服務。這時,ingress-controller所在的node機器就很類似傳統架構的邊緣節點,比如機房入口的nginx服務器。該方式整個請求鏈路最簡單,性能相對NodePort模式更好。缺點是由于直接利用宿主機節點的網絡和端口,一個node只能部署一個ingress-controllerpod。比較適合大并發的生產環境使用。
方式三∶Deployment+NodePort模式的Service
????????同樣用deployment模式部署ingres-controller,并創建對應的服務 ,但是type為NodePort,這樣,ingress就會暴露在集群節點ip的特定端口上。由于nodeport暴露的端口是隨機器口,一般會在前面再搭建一套負載均衡器來轉發請求。該方式一般用于宿主機是相對固定的環境ip地址不變的場景。NodePort方式暴露ingress雖然簡單方便,但是NodePort多了一層NAT,在請求量級很大時可能對性能會有一定影響
總結
以上是生活随笔為你收集整理的Ingress暴露服务的方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《C语言程序设计教程》(一)
- 下一篇: 教师教学公开课创意黑板学习PPT模板