iT邦幫忙

2022 iThome 鐵人賽

DAY 14
1
DevOps

學會 Kubernetes 然後呢?由 Istio 進入 DevOps 偉大航路系列 第 14

Day14 -什麼是 Istio Gateway?與 Kubernetes Ingress 有何不同?

  • 分享至 

  • xImage
  •  

前言

之前的教學裡,為了能快速測試應用程式,會使用 Kubectl port-forward 指令連接至服務,而正式環境中,我們要如何使用 Istio 將服務公開給使用者呢?本篇要介紹的 Istio Gateway 就能幫助你解決這個問題。

Istio Gateway 介紹

Istio Gateway 是 Istio 創建的 CRD (Custom Resource Definition),作為使用者進入 Kubernetes 應用程式的入口,實際上為一個負載均衡器,用來管理進出的 HTTP/TCP 請求。

https://ithelp.ithome.com.tw/upload/images/20220923/20139235QmDqMx05ne.png

將 Istio Gateway 部署到 Kubernetes 後,即可將外部流量導入內部應用程式

Kubernetes Ingress vs. Istio Gateway

針對如何將服務公開的問題,Kubenetes 原生除了提供 Service 的 NodeportLoadBalancer 功能之外,另一個常見的方式就是使用 Ingress,Ingress 是一種 Kubernetes 元件,可以將外部使用者的流量導入到內部的 Service。

https://ithelp.ithome.com.tw/upload/images/20220923/201392354yN1Qcg6Pw.png

Ingress 負責管理進入 Kubernetes 的外部流量,圖片取至 Kubernetes Ingress

看完 Ingress 與 Gateway 的介紹後,應該會覺得兩者的功能相似,都是將外部流量導入到內部,那究竟兩者有何不同呢?其實可以把 Gateway 想像成擁有 Service Mesh 功能的 Ingress,除了擁有 Ingress 的 Load BalancingVirtual Hosting 等功能之外,還可以結合 Service Mesh 提升對外部流量的 Traffic ManagementObservabilitySecurity 能力。

https://ithelp.ithome.com.tw/upload/images/20220923/20139235zKicNuV8NS.png

兩者的功能都是將外部流量導入到應用程式,不同點在於 Gateway 能在入口處設置 Envoy Proxy,將外部流量也加入 Service Mesh 的管理。

https://ithelp.ithome.com.tw/upload/images/20220923/20139235e5GfgTcju5.png

之後會講到的 Kiali 工具可以將 Microservices 流量可視化,使用 Istio Gateway 能將外部的流量加入 Service Mesh 的管理,不只能對流量做更細緻的管理,也能增加外部流量的可觀測性。圖片取至 Configure Istio Ingress Gateway

總結

本篇了解完 Istio Gateway 的原理後,下一篇會介紹如何在 Kubernetes 安裝,並實際使用 Gateway 將服務公開。


上一篇
Day13 - 使用 Istio 實現 A/B 測試 (A/B Testing)
下一篇
Day15 - 結合 Ingress 與 Service Mesh 的 Istio Gateway,究竟要如何使用?
系列文
學會 Kubernetes 然後呢?由 Istio 進入 DevOps 偉大航路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言