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

【Failover】流量降級

配置流量降級可以使請求的目標服務沒有可用端點時,將請求降級轉發到提前指定的另一組服務端點。本文介紹如何配置流量降級。

前提條件

已完成準備工作,并部署helloworld服務和sleep服務。具體操作,請參見準備工作

操作步驟

  1. 使用以下內容,配置目標規則。具體操作,請參見管理目標規則。

    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
      name: helloworld
      namespace: default
    spec:
      host: helloworld
      subsets:
        - labels:
            version: v1
          name: v1
        - labels:
            version: v2
          name: v2
    
  2. 使用以下內容,創建虛擬服務,設置發往helloworld服務的請求都發往helloworld的v1子集,當v1子集不存在可用端點時,請求將降級到helloworld服務的v2子集。具體操作,請參見管理虛擬服務。

  3. apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: helloworld
    spec:
      hosts:
        - helloworld
      http:
        - route:
            - destination:
                host: helloworld
                subset: v1
              fallback:
                target:
                  host: helloworld
                  subset: v2
    
  4. 驗證流量降級是否生效。

    1. 在ACK集群對應的KubeConfig環境下,執行以下命令。

      kubectl exec deploy/sleep -- sh -c "for i in \$(seq 1 100); do curl -s http://helloworld:5000/hello; done"

      預期輸出:

      Hello version: v1, instance: helloworld-v1-9585666c8-8****
      Hello version: v1, instance: helloworld-v1-9585666c8-8****
      Hello version: v1, instance: helloworld-v1-9585666c8-8****
      Hello version: v1, instance: helloworld-v1-9585666c8-8****
      ...
      Hello version: v1, instance: helloworld-v1-9585666c8-8****

      預期輸出表明當helloworld服務的v1子集存在時,所有請求發往helloworld服務的v1子集。

    2. 將helloworld服務的v1子集縮容至0,模擬故障情況。

      1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

      2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 無狀態。

      3. 無狀態頁面的操作列,單擊helloworld-v1工作負載對應的伸縮,在伸縮對話框,設置所需容器組數量0,單擊確定

    3. 在ACK集群對應的KubeConfig環境下,執行以下命令,重新驗證helloworld服務訪問。

      kubectl exec deploy/sleep -- sh -c "for i in \$(seq 1 100); do curl -s http://helloworld:5000/hello; done"

      預期輸出:

      Hello version: v2, instance: helloworld-v2-68bb8c995b-t****
      Hello version: v2, instance: helloworld-v2-68bb8c995b-t****
      ...
      Hello version: v2, instance: helloworld-v2-68bb8c995b-t****
      Hello version: v2, instance: helloworld-v2-68bb8c995b-t****
      Hello version: v2, instance: helloworld-v2-68bb8c995b-t****

      預期輸出表明當helloworld服務的v1子集不存在可用端點時,請求全部發送到服務的v2子集,流量降級生效。