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

在Knative中使用ALB網關實現流量分發

在大規模Web應用、需要精細化流量分發、需要自動彈性伸縮等對HTTP/HTTPS請求有復雜路由需求的應用中,推薦您基于ALB網關實現Knative服務的流量分發和路由。ALB是專門面向HTTP、HTTPS和QUIC等應用層負載場景的負載均衡服務,具備超強彈性及大規模七層流量處理能力。ALB網關是一款全托管免運維的網關,提供自動彈性能力,支持多種服務灰度策略。

前提條件

步驟一:部署ALB網關

在Knative中部署ALB網關時,您可以使用Knative自動創建的ALB實例,也可以指定您已有的ALB實例。

部署ALB網關時自動創建ALB

您可以在部署Knative的過程中配置ALB網關。如果您已經部署了Knative,也可以通過修改Knative配置文件來配置ALB網關。

部署Knative時配置ALB網關

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Knative

  3. 組件管理頁簽,單擊一鍵部署Knative。在部署Knative頁面,選擇ALB服務網關并選擇至少兩個虛擬交換機,然后按照頁面指引完成Knative的部署。

    關于創建虛擬交換機的具體操作,請參見創建交換機

修改Knative配置文件部署ALB網關

對于已部署的Knative,您可以通過修改Knative配置文件來配置ALB網關。關于如何部署Knative,請參見在ACK集群中部署Knative在ACK Serverless集群中部署Knative

  1. 執行以下命令,編輯config-network.yaml文件。

    kubectl -n knative-serving edit configmap config-network
  2. 參照以下格式修改并保存config-network.yaml文件

    修改ingress.class: alb.ingress.networking.knative.dev并設置vswitch-ids后,保存并退出config-network文件即可配置ALB網關。關于ALB支持的地域和可用區,請參見ALB支持的地域與可用區

    apiVersion: v1
    data:
      ...
      ingress.class: alb.ingress.networking.knative.dev # 表示使用ALB作為Ingress控制器。
      vswitch-ids: vsw-uf6kbvc7mccqia2pi****,vsw-uf66scyuw2fncpn38**** # 此處的參數請替換為您已創建的兩個不同可用區交換機ID,系統在創建ALB時自動綁定VSwitch。
      ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
      ...

使用已有ALB部署ALB網關

您可以通過修改Knative配置文件來使用已有的ALB實例配置ALB網關。

  1. 執行以下命令,編輯config-network.yaml文件。

    kubectl -n knative-serving edit configmap config-network
  2. 參照以下格式修改并保存config-network.yaml文件。

    在配置文件中修改ingress.class: alb.ingress.networking.knative.dev并設置albconfig為已有ALB。此時不需要配置vswitch-ids

    apiVersion: v1
    data:
      ...
      ingress.class: alb.ingress.networking.knative.dev # 表示使用ALB作為Ingress控制器。
      albconfig: alb-dev-albconfig # 用于指定已存在的ALB配置名稱,若無需新建ALB而是使用現有ALB,則需填寫此項。
      ...
    kind: ConfigMap
    metadata:
      name: config-network
      namespace: knative-serving
      ...

步驟二:通過ALB網關訪問部署的服務

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Knative

  3. Knative頁面的服務管理頁簽,選擇命名空間default,單擊使用模板創建,將以下YAML示例粘貼至模板,然后單擊創建

    下面示例YAML創建了一個名為helloworld-go的Knative服務。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: helloworld-go
    spec:
      template:
        spec:
          containers:
          - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56
            env:
            - name: TARGET
              value: "Knative"
  4. 服務管理頁面的默認域名訪問網關列,分別獲取helloworld-go服務的域名和網關地址。

  5. 執行以下命令,訪問helloworld-go服務。

    curl -H "host: helloworld-go.default.example.com" http://alb-******.cn-beijing.alb.aliyuncs.com	 # 替換為實際的網關IP和域名。

    預期輸出:

    Hello Knative!

(可選)步驟三:查看服務監控數據

Knative提供開箱即用的可觀測能力,在Knative頁面,單擊監控大盤頁簽,即可查看目標Knative服務的監控數據情況。如何開啟Knative監控大盤,請參見查看Knative服務監控大盤

相關文檔