這篇要用上篇設定的 OpenStack Client 呼叫 OpenStack API 來設定 Load Balancer,設定監聽器還有連線成員。
CNTUG 的 Infra Labs 負載均衡器雖然只有提供 Layer 4 的 Load Balancer,不過這樣也可以夠我們組合出 Layer 7 的 Load Balancer,那我們就繼續接著設定吧!
首先,我們先來建立 Load Balancer:
openstack loadbalancer create --name "Istio ingress" --provider ovn --vip-subnet-id=publicv4 --os-cloud=openstack # 建立為 Istio ingress 的 Load Balancer
這樣就可以在負載均衡器看到剛剛建立的 Istio ingress
因為 CNTUG 的資源池只能使用 OpenStack API 呼叫,那就來手動建立:
openstack loadbalancer pool create --name "HTTP Member" --loadbalancer "Istio ingress" --protocol TCP --lb-algorithm SOURCE_IP_PORT --os-cloud=openstack # 建立 HTTP Service 的成員
openstack loadbalancer pool create --name "HTTPS Member" --loadbalancer "Istio ingress" --protocol TCP --lb-algorithm SOURCE_IP_PORT --os-cloud=openstack # 建立 HTTPS Service 的成員
這樣在負載均衡器裡面就會看到資源池多了剛剛新增的 HTTP Member
跟 HTTPS Member
。
那就可以點進去 HTTP Member
裡面來看成員
就可以點擊 添加/移除成員
把 k8s-n0
跟 k8s-n1
加入進去,根據之前的 Service 所看到的資訊,連接埠填寫上 31068
接下來點到 HTTPS Member
就可以點擊 添加/移除成員
把 k8s-n0
跟 k8s-n1
加入進去,根據之前的 Service 所看到的資訊,連接埠填寫上 32419
接下來回到負載均衡器的監控器,點擊 創建監控器
,把 HTTP 跟 HTTPS 的 Port 打開
HTTP Ingress
TCP
80
否
建立另外一個 HTTPS
HTTPS Ingress
TCP
443
否
新增完成後,點擊 HTTP Ingress
的 編輯監控器
把預設資源池 ID 選擇 HTTP Member
,並且更新監聽器。
HTTPS Ingress
把預設資源池 ID 選擇 HTTPS Member
,並且更新監聽器。
這樣就可以試試看連線 Load Balancer IP http://103.122.117.96
。
顯示 404 Not found 就代表已經對外連線成功了!
只是因為還沒設定 Istio 的 Service 跟 K8s 的 Service 連線,這裡會先顯示 404 Not found,下一篇就要來設定 L7 的 Load Balancer 了!
本系列內容也會同步貼到我的 Blog https://blog.yangjerry.tw 歡迎來我的 Blog 點一下 RSS 追蹤,那我們就下一篇文章見啦!