iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 27
0
DevOps

Kubernetes and Istio 三十天系列 第 27

[Day27] gRPC Istio 應用

前言

今天主要針對gRCP在Istio Service Mesh的應用,有碰到的問題跟大家分享

VirtualService

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: example
spec:
  hosts:
  - example-host
  http:
  - route:
    - destination:
        host: example-host
        port:
          number: 90

一定要設定VirtualService這樣Kubernetes Service才會被納進Istio Service Mesh管理,裡面的host必須是之前有提到Kubernetes CoreDNS能解析的。

DestinationRule

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: example
spec:
  host: example-host
  trafficPolicy:
    loadBalancer:
      simple: ROUND_ROBIN

因為Pod有可能會Scaling多個,因此需要添加DestinationRule並且設定
trafficPolicy的loadBalancer,這樣VirtualService以及DestinationRule設定好,gRPC Service就可以被完整的納入Istio Service Mesh管理,小提醒Scaling建議使用單數。偶數在loadBalancer的演算法判斷有時候會出現異常。

結語

如果要在Istio Service Mesh中使用gRPC服務一定要同時在Istio設定
DestinationRule以及VirtualService。


上一篇
[Day26] Mysql or Mariadb Policy
下一篇
[Day28] Istio Horizontal Pod Autoscaler
系列文
Kubernetes and Istio 三十天30

尚未有邦友留言

立即登入留言