iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0

本篇大綱

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

內文

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

OpenStack Client 開 Load Balancer

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

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934ACBO2AT2wc.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934RU4NUE79Xl.png

OpenStack Client 建立 Resource Pool

因為 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 的成員

https://ithelp.ithome.com.tw/upload/images/20221006/201129345UAYjvFeJD.png

https://ithelp.ithome.com.tw/upload/images/20221006/20112934PD869sGtaT.png

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

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934PUEshOZnr1.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/201129341h0DgfChOT.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934RSTwXSDPif.png

接下來點到 HTTPS Member

https://ithelp.ithome.com.tw/upload/images/20221006/20112934LUdS8MqymE.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934f7X66QuQhU.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934VrjYVepi6X.png

OpenStack 建立監控器

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934879ApxgT40.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934nZzQSBpMSJ.png

https://ithelp.ithome.com.tw/upload/images/20221006/20112934OuafVVVXqw.png

建立另外一個 HTTPS

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934ZaYqbesbuI.png

https://ithelp.ithome.com.tw/upload/images/20221006/20112934OI9X6jVPJb.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934bBnUDY34DK.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/201129345RWWEYwcgC.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934atJOp1O56R.png

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

https://ithelp.ithome.com.tw/upload/images/20221006/20112934Hd9KWiJmmW.png

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

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

本系列內容也會同步貼到我的 Blog https://blog.yangjerry.tw 歡迎來我的 Blog 點一下 RSS 追蹤,那我們就下一篇文章見啦!

Source


上一篇
Day 20 OpenStack Client 連線
下一篇
Day 22 OpenStack LB + MetalLB + Istio + Cloudflare 組合出真正的 HTTP L7 Load Balancer + TLS Key
系列文
關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言