一、什么是SLB
實現k8s的服務service的一種推薦方式,也是服務上云后,替代LVS的一個必選產品。
那么它有什么作用呢?
- 1、負載均衡,是它與生俱來的。可以配置多個服務器組:包括虛擬服務器組、默認服務器組、主備服務器組。
- 2、SSL證書解析,支持https協議的443端口,可以幫助我們進行證書管理,減輕業務網關的壓力。
- 3、流量網關。它往往是前置于業務網關,不能替代你的業務網關。
- 4、監控連接數和流量帶寬。
- 5、提供對外可訪問的TCP端口應用,比如socket編程。slb實現多個socket程序的負載均衡。
二、邏輯架構圖
左側是外網配置,右側是內網配置,相對外網配置就明顯簡單。
三、配置外網域名
1、新增DNS
2、SLB配置
配置SLB對外的端口80和443
3、https443需要管理證書
4、配置轉發策略
詳細的配置說明見: https://help.aliyun.com/document_detail/85955.html?spm=5176.11783189.0.0.5c481eb9mB4PHg
輸入你的域名,第二個填寫path子路徑,第三是選擇虛擬服務器組,下面就看下怎么新建虛擬服務器組。
可以看到,兩個不同的域名,指向不同的虛擬服務器組。
一個是指向kong集群的80端口,另外一個是指向nginx集群的80端口。
5、新建虛擬服務器組
四、內網DNS
比起外網DNS的配置就簡單得多,處理的是80端口,不需要解析SSL證書。
而inges內網域名是指向內網SLB。
SLB
內網域名,使用http協議,則使用下面的80端口。
當然,該ingress也支持https協議443端口,也就是外網訪問的指向了。(需要ssl證書,僅限外網訪問)
這里,沒有配置轉發策略,而是使用的k8s容器服務的路由。
路由ingress
五、總結
對于自建IDC,可能會自己搭建LVS集群來實現負載均衡,不過還是建議你使用SLB,它還可以管理DNS/域名及證書。
當然SLB不是無償的,它會涉及到一些費用,需要你流心。
- 公網下行流量
- 容量單位
- 實例租用費
可以看到,流量的費用不低,SLB區分內網還是外網還是很有必要的。
其次,http接口在返回數據的時候,特別是查詢接口,盡量減少返回的報文。
最后,我想說,注意及時看SLB的監控數據:連接數和流量。
除了http協議外,SLB還可以看到tcp端口層面的數據。
這對于socket編程的程序監控就有意義多了。