iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0

本篇大綱

這篇接續前面的 Istio 安裝 Istio Ingress Gateway,把 Gateway 啟用可以連線。

內文

Istio Ingress 安裝

另外開個 Istio Ingress 的 namespace 出來安裝 Istio gateway:

kubectl create namespace istio-ingress
helm install istio-ingressgateway istio/gateway -n istio-ingress

https://ithelp.ithome.com.tw/upload/images/20221004/20112934EDyvjIywrK.png

現在拿取 Service 來看看內容:

kubectl get svc -A

https://ithelp.ithome.com.tw/upload/images/20221004/201129343GHxh37lzz.png

對於 Service 來說,這只是在 Node 上多開一個 NodePort 給服務而已,istio-ingressgateway 所使用的 80 跟 443 分別對應到 NodePort 上的 31068 跟 32419,這些 NodePort 先記錄好,等等再設定後面的 OpenStack 的 Load Balancer 就會需要用到。

這樣就我們安裝完 Istio 了,如果你是在個人私有雲上,到時候可以直接透過 192.168.200.200 對 External IP 做存取了。

不過這裡是 OpenStack 環境,需要把 ARP Protection 關閉才能直接連線,但我這裡不是管理員,也不能去隨意關閉它,因此只能直接連線 NodePort。

現在用 NodePort 嘗試連線:

curl http://192.168.200.102:31068

https://ithelp.ithome.com.tw/upload/images/20221004/20112934utjcx73JRX.png

這個代表是不能連線,看起來連 Port 都沒有打開,那是因為我們還沒把加入 gateway 進去。

那我們現在把 gateway 加入進去:

# 1. Save as `my-ingressgateway.yaml`
# 2. In bash, `kubectl apply -f my-ingressgateway.yaml`
# 3. If you want to remove, `kubectl delete -f my-ingressgateway.yaml`
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: my-ingressgateway
  namespace: istio-ingress
spec:
  selector:
    istio: ingressgateway # 選擇
  servers:
  - port:
      number: 80 # 開啟 HTTP Port
      name: http2
      protocol: HTTP2
    hosts:
    - "*.yjerry.tw" # 這些 DNS 進來的都會套用

測試連線

那就可以再試 curl 看看:

curl http://192.168.200.102:31068

https://ithelp.ithome.com.tw/upload/images/20221004/20112934wuOOkzoTHS.png

看起來已經有了,但沒有顯示任何東西。

那就加個 -I 顯示一下標頭:

curl http://192.168.200.102:31068 -I

https://ithelp.ithome.com.tw/upload/images/20221004/20112934HhbfT1JecC.png

現在這樣內網可以連線了,下一篇就要使用 OpenStack 提供的 Load Balancer 來讓系統可以對外連線,不過在此之前要先來設定 OpenStack Client 端。

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

Source


上一篇
Day 18 Istio 簡介&安裝
下一篇
Day 20 OpenStack Client 連線
系列文
關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言