日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基于ASM完成藍(lán)綠和灰度發(fā)布

本文介紹如何通過ASM定義的虛擬服務(wù)目標(biāo)規(guī)則配合完成藍(lán)綠和灰度發(fā)布。

前提條件

創(chuàng)建目標(biāo)規(guī)則

針對上述部署的Bookinfo示例,創(chuàng)建所需的目標(biāo)規(guī)則,詳情請參見管理目標(biāo)規(guī)則。目標(biāo)規(guī)則的配置信息如下。

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: productpage
spec:
  host: productpage
  subsets:
    - name: v1
      labels:
        version: v1
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: reviews
spec:
  host: reviews
  subsets:
    - name: v1
      labels:
        version: v1
    - name: v2
      labels:
        version: v2
    - name: v3
      labels:
        version: v3
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: ratings
spec:
  host: ratings
  subsets:
    - name: v1
      labels:
        version: v1
    - name: v2
      labels:
        version: v2
    - name: v2-mysql
      labels:
        version: v2-mysql
    - name: v2-mysql-vm
      labels:
        version: v2-mysql-vm
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: details
spec:
  host: details
  subsets:
    - name: v1
      labels:
        version: v1
    - name: v2
      labels:
        version: v2

創(chuàng)建虛擬服務(wù)

針對上述部署的Bookinfo示例,創(chuàng)建所需的虛擬服務(wù),詳情請參見管理虛擬服務(wù)。虛擬服務(wù)的配置信息如下。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: productpage
spec:
  hosts:
  - productpage
  http:
  - route:
    - destination:
        host: productpage
        subset: v1
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: ratings
spec:
  hosts:
  - ratings
  http:
  - route:
    - destination:
        host: ratings
        subset: v1
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: details
spec:
  hosts:
  - details
  http:
  - route:
    - destination:
        host: details
        subset: v1

藍(lán)綠發(fā)布v2版本

創(chuàng)建目標(biāo)規(guī)則和虛擬服務(wù)后,reviews的v2版本已經(jīng)在運(yùn)行,但還沒有流量切換到v2版本,因此需要用藍(lán)綠部署的方式,讓v2版本上線。

針對上述部署的Bookinfo示例,創(chuàng)建藍(lán)綠發(fā)布v2版本的虛擬服務(wù),詳情請參見管理虛擬服務(wù)。虛擬服務(wù)的配置信息如下。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v2

部署完成后刷新頁面,您可以看到book reviews已經(jīng)有了評分,而且評分的星星為黑色。

按權(quán)重灰度發(fā)布v3版本

您可以讓v2、v3版本同時在線,且兩個版本各處理50%的流量。

針對上述部署的Bookinfo示例,創(chuàng)建灰度發(fā)布v3版本的虛擬服務(wù),詳情請參見管理虛擬服務(wù)。虛擬服務(wù)的配置信息如下。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
    - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v2
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50

部署完成后刷新頁面,可以看到book reviews一欄v2,v3版本隨機(jī)出現(xiàn),v3版本的評分的星星為紅色。

按請求內(nèi)容灰度發(fā)布v3版本

只按照流量來簡單的灰度還是不能滿足很多場景,您還可以按照用戶來灰度,不同的用戶訪問不同的頁面。

針對上述部署的Bookinfo示例,創(chuàng)建灰度發(fā)布的虛擬服務(wù),詳情請參見管理虛擬服務(wù)。虛擬服務(wù)的配置信息如下。
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: reviews
        subset: v3
  - route:
    - destination:
        host: reviews
        subset: v2
部署完成后刷新頁面,評分區(qū)的星星始終為黑色。此時,您可以單擊右上角Sign in,以用戶名jason登錄(不需要輸入密碼),您可以看到評分區(qū)的星星變成紅色。
說明 登錄并訪問后端服務(wù)時,會帶上end-user=XXX的http header,使用jason登錄后,匹配到了YAML的規(guī)則,使得流量被引導(dǎo)到了v3版本的reviews。