這篇要用上篇設定的 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 追蹤,那我們就下一篇文章見啦!