virtual service可以讓客端請求與目標負載進行解耦,優點可以讓Istio網路流量管理靈活性提升,可在yaml上設定不同的流量路由規則,分配流量百分比A/B Service流量比重(金絲雀之後會有相關介紹)。
透過virtual service處理多個應用服務,如果網路使用了kubernetes,可以通過一個virtual service處理特定Namespace下的所有服務,通過將一個Virtualservice映射到多個real service,可以方便地將單一應用程序轉換為由不同的微服務組成的複合服務,而無需服務的使用者去適應這種轉變。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: test
spec:
hosts:
- "test.com"
gateways:
- test-gateway
http:
- route:
- destination:
port:
number: 80
host: test #real service