路由是流量控制中最重要、最經常使用的功能,在Istio中使用VirtualService和DestinationRule這二個API資源來實現。app
VirtualService
(虛擬服務)定義了一組尋址主機時要應用的流量路由規則。每一個路由規則爲特定協議的流量定義匹配條件。若是流量匹配,則將其發送到註冊表中定義的命名目標服務(或其子集/版本)。
功能:spa
DestinationRule
(目標規則)定義在發生路由後應用於服務流量的策略。3d
功能:code
目標規則是配合虛擬服務來使用的,主要用來定義子集,子集實際上就是具體的目標地址,除此之外,它主要描述的是到達目標請求後如何去處理,所謂的目標就是子集,而如何處理就是指具體的策略。blog
將productpage的請求打到reviews的v1版本資源
kubectl apply -f virtual-service-all-v1.yaml
路由
kubectl apply -f destination-rule-all.yaml
部署
屢次刷新頁面後,可發現老是隻訪問reviews的v1版本it