《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 21 OpenStack 設定 Load Balancer

本篇大綱

這篇要用上篇設定的 OpenStack Client 呼叫 OpenStack API 來設定 Load Balancer,設定監聽器還有連線成員。

內文

CNTUG 的 Infra Labs 負載均衡器雖然只有提供 Layer 4 的 Load Balancer,不過這樣也可以夠我們組合出 Layer 7 的 Load Balancer,那我們就繼續接著設定吧!

OpenStack Client 開 Load Balancer

首先,我們先來建立 Load Balancer:

1
openstack loadbalancer create --name "Istio ingress" --provider ovn --vip-subnet-id=publicv4 --os-cloud=openstack # 建立為 Istio ingress 的 Load Balancer

day21-01.png

這樣就可以在負載均衡器看到剛剛建立的 Istio ingress

day21-02.png

OpenStack Client 建立 Resource Pool

因為 CNTUG 的資源池只能使用 OpenStack API 呼叫,那就來手動建立:

1
2
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 的成員

day21-03.png

day21-04.png

這樣在負載均衡器裡面就會看到資源池多了剛剛新增的 HTTP MemberHTTPS Member

那就可以點進去 HTTP Member 裡面來看成員

day21-05.png

就可以點擊 添加/移除成員

day21-06.png

k8s-n0k8s-n1 加入進去,根據之前的 Service 所看到的資訊,連接埠填寫上 31068

day21-07.png

接下來點到 HTTPS Member

day21-08.png

就可以點擊 添加/移除成員

day21-09.png

k8s-n0k8s-n1 加入進去,根據之前的 Service 所看到的資訊,連接埠填寫上 32419

day21-10.png

OpenStack 建立監控器

接下來回到負載均衡器的監控器,點擊 創建監控器,把 HTTP 跟 HTTPS 的 Port 打開

day21-11.png

  • 名稱:HTTP Ingress
  • 協議:TCP
  • 連接埠:80
  • 創建資源池:

day21-12.png

day21-13.png

建立另外一個 HTTPS

  • 名稱:HTTPS Ingress
  • 協議:TCP
  • 連接埠:443
  • 創建資源池:

day21-14.png

day21-15.png

新增完成後,點擊 HTTP Ingress編輯監控器

day21-16.png

把預設資源池 ID 選擇 HTTP Member,並且更新監聽器。

day21-17.png

HTTPS Ingress 把預設資源池 ID 選擇 HTTPS Member,並且更新監聽器。

day21-18.png

這樣就可以試試看連線 Load Balancer IP http://103.122.117.96

day21-19.png

顯示 404 Not found 就代表已經對外連線成功了!

只是因為還沒設定 Istio 的 Service 跟 K8s 的 Service 連線,這裡會先顯示 404 Not found,下一篇就要來設定 L7 的 Load Balancer 了!

本系列內容也會同步貼到我的 iT 邦幫忙 https://ithelp.ithome.com.tw/users/20112934 歡迎來點一下追蹤,那我們就下一篇文章見啦!

Source

Buy Me A Coffee