iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
1
DevOps

Kubernetes and Istio 三十天系列 第 9

[Day09] Istio Architecture Part I

Istio Architecture

Istio Architecture

Istio Pods
Istio Pods

Istio Service
Istio Service

Istio Data Plane

Istio的Data Plane也就是第一張圖所表示的Proxy,在Istio整體架構裡都是採用Sidecar Pattern,也就是說每一個在Kubernetes的Pod可以被多掛一個Proxy,而Istio預設的Proxy就是Envoy,而控制什麼時候要Injector Proxy,就是依靠Control Plane的Istio-sidecar-injector這項服務。嚴格來說Istio的Data Plane就是Envoy Proxy。

Envoy Proxy

Envoy在Service Mesh中是一個非常優秀的sidecar,包含了非常多的功能,比如:

  • Dynamic service discovery
  • Load balancing(非常重要)
  • TLS termination
  • HTTP/2 and gRPC proxies(非常重要)
  • Circuit breakers
  • Health checks
  • Staged rollouts with %-based traffic split
  • Fault injection
  • Rich metrics

簡單來說Envoy Proxy取代了Kube Proxy的功能,並且還提供了HTTP/2 and gRPC 的解析,同樣也可以使用Kubernetes Service Loadbalancing。

Envoy Proxy Architecture

Envoy Proxy Architecture

Envoy xDS

Envoy 提供了如下的 API:

  • CDS(Cluster Discovery Service)
  • EDS(Endpoint Discovery Service)
  • HDS(Health Discovery Service)
  • LDS(Listener Discovery Service)
  • MS(Metric Service)
  • RLS(Rate Limit Service)
  • RDS(Route Discovery Service)
  • SDS(Secret Discovery Service)
  • ADS (Aggregated Discovery Service)
    所有名稱以 DS 結尾的服務統稱為 xDS,目前API還在新增詳細請參閱。因為主題還是會放在Istio的應用上,如果對Envoy xDS有興趣的可以參考這邊

結語

在使用Istio的時候,目前比較專門使用Istio提供的各種功能,下一篇會針對Istio Control Plane進行探討

圖片來源

Istio Architecture
Envoy Proxy Architecture


上一篇
[Day08]什麼是Istio?
下一篇
[Day10] Istio Architecture Part II
系列文
Kubernetes and Istio 三十天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言