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

通過云原生網(wǎng)關(guān)管理多個(gè)ACK集群

更新時(shí)間:

為了保障業(yè)務(wù)穩(wěn)定性,通常采用多個(gè)ACK集群對(duì)等部署的方式來實(shí)現(xiàn)高可用。云原生網(wǎng)關(guān)支持多ACK集群接入,通過一個(gè)網(wǎng)關(guān)實(shí)例同時(shí)關(guān)聯(lián)多個(gè)集群,將同名服務(wù)合并,在多個(gè)服務(wù)端點(diǎn)之間做負(fù)載均衡。搭配網(wǎng)關(guān)的健康檢測(cè)功能,自動(dòng)探測(cè)服務(wù)可用性,實(shí)現(xiàn)更高效的故障自動(dòng)切流。本文以兩個(gè)ACK集群為例,介紹如何通過云原生網(wǎng)關(guān)管理多個(gè)ACK集群。

前提條件

  • 創(chuàng)建兩個(gè)ACK集群。具體操作,請(qǐng)參見創(chuàng)建Kubernetes托管版集群

  • 在兩個(gè)集群中配置同名的服務(wù)。以httpbin服務(wù)為例,示例配置如下所示。

    展開查看YAML文件

    apiVersion: v1
    kind: Service
    metadata:
      name: httpbin
      labels:
        app: 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:
          containers:
          - image: docker.io/kennethreitz/httpbin
            imagePullPolicy: IfNotPresent
            name: httpbin
            ports:
            - containerPort: 80

背景信息

在生產(chǎn)實(shí)踐中,若對(duì)業(yè)務(wù)穩(wěn)定性要求非常高,通常會(huì)采用多ACK集群對(duì)等部署的方式來保障高可用。例如,集群A部署在可用區(qū)A,集群B部署在可用區(qū)B,A與B兩個(gè)集群部署的服務(wù)一致,當(dāng)其中一個(gè)集群故障時(shí)可以快速切換流量。

云原生網(wǎng)關(guān)為了支持業(yè)務(wù)的高可用部署訴求,提供了多ACK集群接入功能。即用一個(gè)云原生網(wǎng)關(guān)實(shí)例同時(shí)關(guān)聯(lián)A、B兩個(gè)集群,網(wǎng)關(guān)會(huì)將兩個(gè)集群的同名服務(wù)進(jìn)行合并,合并后的服務(wù)名稱與原來保持一致,但是服務(wù)的IP地址列表會(huì)同時(shí)包含兩個(gè)服務(wù)的所有IP地址。如果A或者B集群故障,利用云原生網(wǎng)關(guān)的路由能力會(huì)自動(dòng)將流量分發(fā)到正常集群。推薦搭配網(wǎng)關(guān)的主動(dòng)健康檢測(cè)功能一起使用,由網(wǎng)關(guān)主動(dòng)探測(cè)服務(wù)的IP地址可用性,從而帶來更高效的故障自動(dòng)切流。

如下圖所示,云原生網(wǎng)關(guān)管理著來自兩個(gè)ACK集群的A、B兩個(gè)服務(wù)。當(dāng)ACK集群B發(fā)生crash時(shí),仍然能夠通過網(wǎng)關(guān)訪問到集群A的A、B兩個(gè)服務(wù),且該切流動(dòng)作自動(dòng)發(fā)生,無需人工干涉。

image

步驟一:在云原生網(wǎng)關(guān)中添加容器服務(wù)來源

  1. 登錄MSE網(wǎng)關(guān)管理控制臺(tái),并在頂部菜單欄選擇地域。

  2. 在左側(cè)導(dǎo)航欄,選擇云原生網(wǎng)關(guān) > 網(wǎng)關(guān)列表,單擊目標(biāo)網(wǎng)關(guān)名稱。

  3. 在左側(cè)導(dǎo)航欄,選擇路由管理,然后選擇來源頁(yè)簽。

  4. 單擊創(chuàng)建來源。在創(chuàng)建來源面板,配置相關(guān)參數(shù),然后單擊確定。具體操作,請(qǐng)參見創(chuàng)建服務(wù)來源

    創(chuàng)建容器來源.png

步驟二:在云原生網(wǎng)關(guān)中分別添加服務(wù)A與B

  1. 在左側(cè)導(dǎo)航欄,選擇路由管理,然后選擇服務(wù)頁(yè)簽。

  2. 單擊創(chuàng)建服務(wù)。在創(chuàng)建服務(wù)面板,配置服務(wù)相關(guān)參數(shù),然后單擊確定。具體操作,請(qǐng)參見創(chuàng)建服務(wù)

    沒有刪除一個(gè)服務(wù).png

步驟三:在云原生網(wǎng)關(guān)中為目標(biāo)服務(wù)添加路由配置

  1. 在左側(cè)導(dǎo)航欄,單擊路由管理,然后選擇路由頁(yè)簽。

  2. 單擊創(chuàng)建路由。在創(chuàng)建路由頁(yè)面,配置相關(guān)參數(shù),然后單擊保存并上線。具體操作,請(qǐng)參見創(chuàng)建路由

    創(chuàng)建路由222.png

結(jié)果驗(yàn)證

當(dāng)集群A、B正常時(shí)

  1. 服務(wù)列表頁(yè)面查看服務(wù)地址。

    可觀察到服務(wù)地址中有兩條記錄。沒刪除服務(wù).png

  2. 多次訪問網(wǎng)關(guān),創(chuàng)造訪問日志。具體代碼如下所示。

    while :; do curl http://<網(wǎng)關(guān)SLB地址>/test ; done
  3. 在網(wǎng)關(guān)日志中進(jìn)行查詢分析。

    1. 登錄MSE網(wǎng)關(guān)管理控制臺(tái)

    2. 在左側(cè)導(dǎo)航欄,選擇云原生網(wǎng)關(guān) > 網(wǎng)關(guān)列表,并在頂部菜單欄選擇地域。

    3. 網(wǎng)關(guān)列表頁(yè)面,單擊目標(biāo)網(wǎng)關(guān)名稱。

    4. 在左側(cè)導(dǎo)航欄,單擊觀測(cè)分析 > 日志中心。在頁(yè)面右上角,選擇SLS日志服務(wù)

      image.png

      通過分組查詢可以查看upstream_host對(duì)應(yīng)ACK集群上的服務(wù)地址。此時(shí),upstream_host取值有兩個(gè),兩個(gè)ACK集群均分了訪問該服務(wù)的流量。

      image..png

當(dāng)集群A異常時(shí)

  1. 在集群A中刪除httpbin服務(wù)。

    此時(shí),服務(wù)地址只有一條記錄。

    刪除一個(gè)服務(wù).png

  2. 多次訪問網(wǎng)關(guān),創(chuàng)建訪問日志。具體代碼如下所示。

    while :; do curl http://<網(wǎng)關(guān)SLB地址>/test ; done
  3. 在網(wǎng)關(guān)日志中進(jìn)行查詢分析。

    1. 登錄MSE網(wǎng)關(guān)管理控制臺(tái)

    2. 在左側(cè)導(dǎo)航欄,選擇云原生網(wǎng)關(guān) > 網(wǎng)關(guān)列表,并在頂部菜單欄選擇地域。

    3. 網(wǎng)關(guān)列表頁(yè)面,單擊目標(biāo)網(wǎng)關(guān)名稱。

    4. 在左側(cè)導(dǎo)航欄,單擊觀測(cè)分析 > 日志中心。在頁(yè)面右上角,選擇SLS日志服務(wù)

      image..png

      通過分組查詢可以觀察到此時(shí)upstream_host取值僅有一個(gè),是集群B的服務(wù)地址。該現(xiàn)象表明網(wǎng)關(guān)將全部流量切到了集群B上。

      image..png