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

使用優(yōu)雅下線功能避免流量損失

ASM網(wǎng)關(guān)在縮容或滾動重啟時,會刪除網(wǎng)關(guān)Pod而導(dǎo)致少量流量損失。啟用優(yōu)雅下線功能后,即使刪除網(wǎng)關(guān)Pod,現(xiàn)有連接在一定時間內(nèi)仍能正常傳輸,流量將不會有損失。本文介紹如何使用優(yōu)雅下線功能。

前提條件

步驟一:啟用優(yōu)雅下線功能

您可以根據(jù)實際情況,在新建網(wǎng)關(guān)時或為已有網(wǎng)關(guān)啟用優(yōu)雅下線功能。

新建網(wǎng)關(guān)時啟用優(yōu)雅下線功能

  1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理。

  2. 網(wǎng)格管理頁面,單擊目標實例名稱,然后在左側(cè)導(dǎo)航欄,選擇ASM網(wǎng)關(guān) > 入口網(wǎng)關(guān)。

  3. 入口網(wǎng)關(guān)頁面,單擊創(chuàng)建。

  4. 創(chuàng)建頁面,選擇部署集群,設(shè)置負載均衡CLB類型公網(wǎng)訪問,在新建負載均衡CLB下選擇負載均衡規(guī)格,設(shè)置網(wǎng)關(guān)副本數(shù)10,其他配置項保持默認。

    關(guān)于配置項的說明,請參見創(chuàng)建入口網(wǎng)關(guān)。

  5. 單擊高級選項,選中優(yōu)雅下線,配置連接超時時間(秒),然后單擊創(chuàng)建。

    配置項

    說明

    優(yōu)雅下線

    選中后,當(dāng)CLB停用時,將不會對網(wǎng)關(guān)業(yè)務(wù)產(chǎn)生影響。

    連接超時時間(秒)

    CLB移除網(wǎng)關(guān)Pod后,會等待配置的連接超時時間,然后再斷開與Pod的連接。配置該參數(shù),可以給網(wǎng)關(guān)Pod提供一個緩沖時間,來處理現(xiàn)有的連接。網(wǎng)關(guān)Pod默認優(yōu)雅下線時間為30s,CLB側(cè)配置的超時時間通常不應(yīng)該超過30s。

為已有網(wǎng)關(guān)啟用優(yōu)雅下線功能

  1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理。

  2. 網(wǎng)格管理頁面,單擊目標實例名稱,然后在左側(cè)導(dǎo)航欄,選擇ASM網(wǎng)關(guān) > 入口網(wǎng)關(guān)。

  3. 入口網(wǎng)關(guān)頁面,單擊目標網(wǎng)關(guān)的名稱。

  4. 網(wǎng)關(guān)詳情頁面,單擊高級選項,單擊優(yōu)雅下線右側(cè)的修改圖標,選中優(yōu)雅下線,配置連接超時時間(秒),然后單擊確認。

步驟二:部署示例應(yīng)用

  1. 獲取集群KubeConfig并通過kubectl工具連接集群

  2. 使用以下內(nèi)容,創(chuàng)建httpbin.yaml。

    展開查看httpbin.yaml

    
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: httpbin
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: httpbin
      labels:
        app: httpbin
        service: httpbin
    spec:
      ports:
      - name: http
        port: 8000
        targetPort: 80
      selector:
        app: httpbin
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: httpbin
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: httpbin
          version: v1
      template:
        metadata:
          labels:
            app: httpbin
            version: v1
        spec:
          serviceAccountName: httpbin
          containers:
          - image: docker.io/kennethreitz/httpbin
            imagePullPolicy: IfNotPresent
            name: httpbin
            ports:
            - containerPort: 80
  3. 執(zhí)行以下命令,部署httpbin應(yīng)用。

    kubectl apply -f httpbin.yaml -n default

步驟三:創(chuàng)建虛擬服務(wù)和網(wǎng)關(guān)規(guī)則

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

    1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理。

    2. 網(wǎng)格管理頁面,單擊目標實例名稱,然后在左側(cè)導(dǎo)航欄,選擇流量管理中心 > 虛擬服務(wù),然后單擊使用YAML創(chuàng)建

    3. 創(chuàng)建頁面,選擇命名空間和任意場景模版,配置以下YAML,然后單擊創(chuàng)建

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: httpbin
        namespace: default
      spec:
        gateways:
          - httpbin-gateway
        hosts:
          - '*'
        http:
          - route:
              - destination:
                  host: httpbin
                  port:
                    number: 8000
  2. 創(chuàng)建網(wǎng)關(guān)規(guī)則。

    1. 在網(wǎng)格詳情頁面左側(cè)導(dǎo)航欄,選擇ASM網(wǎng)關(guān) > 網(wǎng)關(guān)規(guī)則,然后在右側(cè)頁面,單擊使用YAML創(chuàng)建。

    2. 創(chuàng)建頁面,選擇命名空間和任意場景模版,配置以下YAML,然后單擊創(chuàng)建。

      apiVersion: networking.istio.io/v1beta1
      kind: Gateway
      metadata:
        name: httpbin-gateway
        namespace: default
      spec:
        selector:
          istio: ingressgateway
        servers:
          - hosts:
              - '*'
            port:
              name: http
              number: 80
              protocol: HTTP
  3. 驗證路由配置是否成功。

    1. 獲取ASM網(wǎng)關(guān)地址,具體操作,請參見創(chuàng)建入口網(wǎng)關(guān)

    2. 在瀏覽器地址欄中,輸入http://<ASM網(wǎng)關(guān)地址>。

      顯示如下,說明路由配置成功。httpbin

步驟四:驗證啟用優(yōu)雅下線功能后的效果

  1. 根據(jù)您使用的操作系統(tǒng),安裝并下載輕量級壓測工具hey的對應(yīng)版本。具體操作,請參見hey。

  2. 縮容ASM網(wǎng)關(guān)。

    1. 登錄ASM控制臺,在左側(cè)導(dǎo)航欄,選擇服務(wù)網(wǎng)格 > 網(wǎng)格管理。

    2. 網(wǎng)格管理頁面,單擊目標實例名稱,然后在左側(cè)導(dǎo)航欄,選擇ASM網(wǎng)關(guān) > 入口網(wǎng)關(guān)

    3. 入口網(wǎng)關(guān)頁面,單擊目標網(wǎng)關(guān)右側(cè)的查看YAML

    4. 編輯對話框,設(shè)置replicaCount的參數(shù)值為1,然后單擊確定。

      縮容

  3. 執(zhí)行以下命令,以200并發(fā),50000請求數(shù)請求httpbin應(yīng)用,查看啟用優(yōu)雅下線功能前后的流量損失情況。

    hey -c 200 -n 50000  -disable-keepalive   http://{ASM網(wǎng)關(guān)IP}/

    類型

    結(jié)果分析

    未啟用優(yōu)雅下線功能

    輸出結(jié)果如下:

    Status code distribution:
      [200] 49747 responses
    
    Error distribution:
      [253] Get "http://47.55.2xx.xx": dial tcp 47.55.2xx.xx:80: connect: connection refused

    50000個請求中僅49747個請求返回200狀態(tài)碼。說明僅49747個請求訪問成功,流量有少量的損失。

    啟用優(yōu)雅下線功能

    輸出結(jié)果如下:

    ............
    Status code distribution:
      [200] 50000 responses

    50000個請求全部返回200狀態(tài)碼。說明50000個請求都訪問成功,流量沒有損失。