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

容器服務ACK使用ALB Ingress最佳實踐

ALB Ingress基于阿里云應用型負載均衡ALB(Application Load Balancer)之上提供更為強大的Ingress流量管理方式,兼容Nginx Ingress,具備處理復雜業務路由和證書自動發現的能力,支持HTTP、HTTPS和QUIC協議,滿足在云原生應用場景下對超強彈性和大規模七層流量處理能力的需求。當您希望在ACK集群中配置ALB Ingress實現Ingress流量管理,您可以參考本文部署服務并通過ALB Ingress訪問服務。

背景信息

ALB Ingress涉及到的概念介紹如下:

  • ALB Ingress Controller:Ingress Controller是Kubernetes中負責管理Ingress資源的組件。它充當集群內的入口點,將外部流量路由到適當的服務。ALB Ingress Controller通過API Server獲取Ingress資源的變化,動態地生成AlbConfig,然后依次創建ALB實例、監聽、路由轉發規則以及后端服務器組。

  • AlbConfig CRD:CRD (Custom Resource Definition) 是 Kubernetes 中的一種機制,用于擴展 Kubernetes API,并允許用戶自定義資源類型。一個AlbConfig對應一個ALB實例。

  • Ingress Class:Ingress Class是Kubernetes Ingress資源的一個屬性,用于定義Ingress Controller的類別或標識。它允許在集群中同時使用多個Ingress Controller,并為每個Ingress資源指定使用的特定Controller。

  • Ingress:Ingress是Kubernetes中用于定義外部流量路由規則和訪問規則的資源對象,通過Ingress Controller來實現流量轉發功能。ALB Ingress可以通過注解項配置轉發規則,配置完成后,HTTP/HTTPS請求可以通過注解項配置的轉發規則轉發到對應的Service上。

  • Service:在Kubernetes中,Service是一種抽象的資源對象,用于定義一組具有相同邏輯功能的Pod實例,并為它們提供穩定的虛擬IP地址和端口。

    Service為應用程序提供了一個穩定的入口,允許其他應用程序或服務通過訪問Service的虛擬IP和端口來與后端Pod進行通信,而無需了解具體的Pod IP地址和端口。Service是后端真實服務的抽象,一個Service可以代表多個相同的后端服務。

您可參照下圖,理解ALB網絡實例與ALB Ingress之間的邏輯關系。

ALB Ingress

使用限制

  • 如果您使用的是Flannel網絡插件,則ALB Ingress后端Service服務僅支持NodePort和LoadBalancer類型。

  • AlbConfig、Namespace、Ingress和Service這些資源的名稱不能以aliyun開頭。

  • 低版本Nginx Ingress Controller無法識別Ingress資源中的spec:ingressClassName字段。如果集群中同時存在Nginx Ingress和ALB Ingress,會存在ALB Ingress被低版本Nginx Ingress Controller調諧的風險。因此,請及時升級Nginx Ingress Controller版本,或通過Annotation注解項指定ALB Ingress對應的ingressClass。具體操作,請參見升級Nginx Ingress Controller組件ALB Ingress服務高級用法

場景示例

本教程以四個部署了Nginx的Pod為例,演示如何通過配置ALB Ingress,實現相同域名不同URL路徑的流量轉發。

前端請求

流量轉發至

demo.domain.ingress.top/coffee

coffee服務

demo.domain.ingress.top/tea

tea服務

前提條件

步驟一:安裝ALB Ingress Controller組件

使用ALB Ingress前,請安裝ALB Ingress Controller組件。

創建集群時安裝

創建ACK托管集群ACK專有集群時,在Ingress參數配置區域,選擇安裝ALB Ingress

您可以為ALB云原生網關實例來源選擇新建使用已有暫不創建選項。這三種選項的對比如下:

重要

如果選擇新建使用已有,則會在安裝ALB Ingress Controller組件后自動創建AlbConfig以及與之匹配的IngressClass資源,在AlbConfig中會自動配置端口為80,協議為HTTP的listener

對比項

新建

使用已有

暫不創建

適用場景

在集群中第一次使用ALB Ingress,集群中不存在AlbConfig的場景。

希望使用已有ALB實例的場景。

希望在安裝組件后配置AlbConfig的場景。

工作原理

新建AlbConfig后,會使用其中的配置自動創建一個ALB實例。

會自動創建一個AlbConfig,其中的id字段會填入被選擇的ALB實例的ID。

只安裝ALB Ingress Controller,而不創建AlbConfig。

后續操作

網絡類型中選擇ALB實例的網絡類型,然后在虛擬交換機中選擇ALB實例關聯的虛擬交換機。

重要

為保障業務高可用,推薦您選擇2個或以上不同可用區的交換機。

ALB云原生網關實例中選擇希望使用的ALB實例。如果您需要使用AlbConfig關聯該ALB實例,請參見復用已有ALB實例

重要

不支持使用基礎版ALB實例。

使用已有AlbConfig,或后續完成AlbConfig的配置。

在已有集群中安裝

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面,單擊網絡頁簽,在網絡組件區域,在ALB Ingress Controller組件卡片的右下角單擊安裝

  4. 安裝組件 ALB Ingress Controller對話框,為選擇ALB 云原生網關實例來源選擇新建使用已有暫不創建選項。這三種選項的對比如下:

    重要

    如果選擇新建使用已有,則會在安裝ALB Ingress Controller組件后自動創建AlbConfig以及與之匹配的IngressClass資源,在AlbConfig中會自動配置端口為80,協議為HTTP的listener

    對比項

    新建

    使用已有

    暫不創建

    適用場景

    在集群中第一次使用ALB Ingress,集群中不存在AlbConfig的場景。

    希望使用已有ALB實例的場景。

    希望在安裝組件后配置AlbConfig的場景。

    工作原理

    新建AlbConfig后,會使用其中的配置自動創建一個ALB實例。

    會自動創建一個AlbConfig,其中的id字段會填入被選擇的ALB實例的ID。

    只安裝ALB Ingress Controller,而不創建AlbConfig。

    后續操作

    網絡類型中選擇ALB實例的網絡類型,然后在虛擬交換機中選擇ALB實例關聯的虛擬交換機。

    重要

    為保障業務高可用,推薦您選擇2個或以上不同可用區的交換機。

    ALB云原生網關實例中選擇希望使用的ALB實例。如果您需要使用AlbConfig關聯該ALB實例,請參見復用已有ALB實例

    重要

    不支持使用基礎版ALB實例。

    使用已有AlbConfig,或后續完成AlbConfig的配置。

  5. 單擊確定

說明

若需要在ACK專有集群中通過ALB Ingress訪問服務,在部署服務前需要為ALB Ingress Controller授權。具體操作,請參見為ACK專有集群授予ALB Ingress Controller訪問權限

步驟二:部署后端服務

控制臺

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

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

  3. 單擊右上角使用YAML創建資源

    1. 示例模板:選擇自定義

    2. 模板:輸入YAML配置文件代碼。該配置文件用于部署兩個名稱分別為coffeetea的Deployment,以及兩個名稱分別為coffee-svctea-svc的Service。

      YAML配置文件參考

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: coffee
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: coffee
        template:
          metadata:
            labels:
              app: coffee
          spec:
            containers:
            - name: coffee
              image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
              ports:
              - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: coffee-svc
      spec:
        ports:
        - port: 80
          targetPort: 80
          protocol: TCP
        selector:
          app: coffee
        type: NodePort
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: tea
      spec:
        replicas: 2
        selector:
          matchLabels:
            app: tea
        template:
          metadata:
            labels:
              app: tea
          spec:
            containers:
            - name: tea
              image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
              ports:
              - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: tea-svc
      spec:
        ports:
        - port: 80
          targetPort: 80
          protocol: TCP
        selector:
          app: tea
        type: NodePort

  4. 配置完成后單擊創建,頁面將提示創建成功

  5. 檢查Deployment和Service創建成功:

    1. 在左側導航欄,選擇工作負載 > 無狀態。可查看到名稱為coffee和tea的Deployment已部署。

    2. 在左側導航欄,選擇網絡 > 服務。可查看到名稱為coffee-svc和tea-svc的Service已部署。

kubectl

  1. 創建并拷貝以下內容到cafe-service.yaml文件中,用于部署兩個名稱分別為coffeetea的Deployment,以及兩個名稱分別為coffee-svctea-svc的Service。

    YAML配置文件參考

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: coffee
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: coffee
      template:
        metadata:
          labels:
            app: coffee
        spec:
          containers:
          - name: coffee
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: coffee-svc
    spec:
      ports:
      - port: 80
        targetPort: 80
        protocol: TCP
      selector:
        app: coffee
      type: NodePort
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: tea
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: tea
      template:
        metadata:
          labels:
            app: tea
        spec:
          containers:
          - name: tea
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: tea-svc
    spec:
      ports:
      - port: 80
        targetPort: 80
        protocol: TCP
      selector:
        app: tea
      type: NodePort
  2. 執行以下命令,部署兩個Deployment和兩個Service。

    kubectl apply -f cafe-service.yaml

    預期輸出:

    deployment "coffee" created
    service "coffee-svc" created
    deployment "tea" created
    service "tea-svc" created
  3. 執行以下命令,查看應用和服務的狀態。

    1. 執行以下命令,查看應用的狀態。

      kubectl get deployment

      預期輸出:

      NAME                             READY   UP-TO-DATE   AVAILABLE   AGE
      coffee                           1/2     2            1           2m26s
      tea                              1/1     1            1           2m26s
    2. 執行以下命令,查看服務的狀態。

      kubectl get svc

      預期輸出:

      NAME                          TYPE           CLUSTER-IP       EXTERNAL-IP           PORT(S)                 AGE
      coffee-svc                    NodePort       172.16.XX.XX     <none>                80:32056/TCP            9m38s
      tea-svc                       NodePort       172.16.XX.XX     <none>                80:31696/TCP            9m38s

步驟三:創建AlbConfig

說明

如果在步驟一:安裝ALB Ingress Controller組件中,您為ALB云原生網關實例來源選擇新建使用已有選項,controller會自動創建一個名為“alb”的AlbConfig和名為“alb”的IngressClass的資源,您可以忽略此步驟。

控制臺

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 自定義資源

  3. 單擊右上角使用YAML創建資源

    1. 示例模板:選擇自定義

    2. 模板:輸入YAML配置文件代碼。

      YAML配置文件參考

      apiVersion: alibabacloud.com/v1
      kind: AlbConfig
      metadata:
        name: alb
      spec:
        config:
          name: alb-test
          addressType: Internet
          zoneMappings:
          - vSwitchId: vsw-uf6ccg2a9g71hx8go****
          - vSwitchId: vsw-uf6nun9tql5t8nh15****
        listeners:
          - port: 80
            protocol: HTTP

      可調整參數說明如下:

      參數

      是否必填

      說明

      metadata.name

      AlbConfig的名稱。

      說明

      AlbConfig的名稱在集群中必須是唯一的。因此,在創建AlbConfig時,您需要確保AlbConfig名稱的唯一性,以避免命名沖突。

      spec.config.name

      ALB實例的名稱。

      spec.config.addressType

      ALB實例的網絡類型。取值如下:

      • Internet(默認值):公網類型。面向公網提供應用型負載均衡服務,公網可訪問。

        說明

        應用型負載均衡通過綁定彈性公網IP進行公網服務,使用公網類型ALB實例將收取彈性公網IP的實例費與帶寬、流量費用,詳情參見按量付費

      • Intranet:私網類型。面向VPC內部提供應用型負載均衡服務,公網不可訪問。

      spec.config.zoneMappings

      設置ALB交換機ID。創建交換機具體操作請參見創建和管理交換機

      說明
      • 指定的交換機必須在ALB當前所支持的可用區內,且與集群處于同一VPC。關于ALB支持的地域與可用區,請參見ALB支持的地域與可用區

      • 應用型負載均衡支持多可用區部署,若當前地域支持2個及以上可用區,為保障業務高可用,請至少選擇2個或以上不同可用區的交換機。

      spec.listeners

      配置ALB的監聽端口和協議。本文配置示例為端口80的HTTP監聽。

      監聽定義了流量進入負載均衡的方式和規則,此處建議保留該配置,否則您需要另行創建監聽才可使用ALB Ingress。

  4. 配置完成后單擊創建,頁面將提示創建成功

  5. 檢查ALB實例創建成功:

    1. 登錄應用型負載均衡ALB控制臺

    2. 在頂部菜單欄,選擇實例所屬的地域。

    3. 實例頁面,在實例列表可查看到名稱為alb-test的ALB實例,表示實例創建成功。

kubectl

  1. 拷貝以下內容到alb-test.yaml文件中,用于創建AlbConfig。

    YAML配置文件參考

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: alb
    spec:
      config:
        name: alb-test
        addressType: Internet
        zoneMappings:
        - vSwitchId: vsw-uf6ccg2a9g71hx8go****
        - vSwitchId: vsw-uf6nun9tql5t8nh15****
      listeners:
        - port: 80
          protocol: HTTP

    可調整參數說明如下:

    參數

    是否必填

    說明

    metadata.name

    AlbConfig的名稱。

    說明

    AlbConfig的名稱在集群中必須是唯一的。因此,在創建AlbConfig時,您需要確保AlbConfig名稱的唯一性,以避免命名沖突。

    spec.config.name

    ALB實例的名稱。

    spec.config.addressType

    ALB實例的網絡類型。取值如下:

    • Internet(默認值):公網類型。面向公網提供應用型負載均衡服務,公網可訪問。

      說明

      應用型負載均衡通過綁定彈性公網IP進行公網服務,使用公網類型ALB實例將收取彈性公網IP的實例費與帶寬、流量費用,詳情參見按量付費

    • Intranet:私網類型。面向VPC內部提供應用型負載均衡服務,公網不可訪問。

    spec.config.zoneMappings

    設置ALB交換機ID。創建交換機具體操作請參見創建和管理交換機

    說明
    • 指定的交換機必須在ALB當前所支持的可用區內,且與集群處于同一VPC。關于ALB支持的地域與可用區,請參見ALB支持的地域與可用區

    • 應用型負載均衡支持多可用區部署,若當前地域支持2個及以上可用區,為保障業務高可用,請至少選擇2個或以上不同可用區的交換機。

    spec.listeners

    配置ALB的監聽端口和協議。本文配置示例為端口80的HTTP監聽。

    監聽定義了流量進入負載均衡的方式和規則,此處建議保留該配置,否則您需要另行創建監聽才可使用ALB Ingress。

  2. 執行以下命令,創建AlbConfig。

    kubectl apply -f alb-test.yaml

    預期輸出:

    albconfig.alibabacloud.com/alb-demo created

步驟四:創建IngressClass

IngressClass建議與AlbConfig一一對應。

說明

如果在步驟一:安裝ALB Ingress Controller組件中,您為ALB云原生網關實例來源選擇新建使用已有選項,controller會自動創建一個名為“alb”的AlbConfig和名為“alb”的IngressClass的資源,您可以忽略此步驟。

控制臺

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 自定義資源

  3. 單擊右上角使用YAML創建資源

    1. 示例模板:選擇自定義

    2. 模板:輸入YAML配置文件代碼。

      YAML配置文件參考

      apiVersion: networking.k8s.io/v1
      kind: IngressClass
      metadata:
        name: alb
      spec:
        controller: ingress.k8s.alibabacloud/alb
        parameters:
          apiGroup: alibabacloud.com
          kind: AlbConfig
          name: alb

      可調整參數說明如下:

      參數

      是否必填

      說明

      metadata.name

      IngressClass的名稱。

      說明

      IngressClass的名稱在集群中必須是唯一的。因此,在創建IngressClass時,您需要確保IngressClass名稱的唯一性,以避免命名沖突。

      spec.parameters.name

      關聯的AlbConfig的名稱。

  4. 配置完成后單擊創建,頁面將提示創建成功

  5. 檢查IngressClass創建成功:

    1. 在左側導航欄,選擇工作負載 > 自定義資源

    2. 選擇資源對象瀏覽器頁簽。

    3. API組搜索欄中,輸入IngressClass進行搜索,可查看到對應的IngressClass已創建。

kubectl

  1. 創建并拷貝以下內容到alb.yaml文件中,用于創建IngressClass。

    YAML配置文件參考

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: alb
    spec:
      controller: ingress.k8s.alibabacloud/alb
      parameters:
        apiGroup: alibabacloud.com
        kind: AlbConfig
        name: alb

    可調整參數說明如下:

    參數

    是否必填

    說明

    metadata.name

    IngressClass的名稱。

    說明

    IngressClass的名稱在集群中必須是唯一的。因此,在創建IngressClass時,您需要確保IngressClass名稱的唯一性,以避免命名沖突。

    spec.parameters.name

    關聯的AlbConfig的名稱。

  2. 執行以下命令,創建IngressClass。

      kubectl apply -f alb.yaml

    預期輸出:

    ingressclass.networking.k8s.io/alb created

步驟五:創建Ingress

控制臺

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

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇網絡 > 路由

  3. 單擊右上角使用YAML創建資源

    1. 示例模板:選擇自定義

    2. 模板:輸入YAML配置文件代碼。

      YAML配置文件參考

      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: cafe-ingress 
      spec:
        ingressClassName: alb
        rules:
         - host: demo.domain.ingress.top
           http:
            paths:
            # 配置Context Path
            - path: /tea
              pathType: ImplementationSpecific
              backend:
                service:
                  name: tea-svc
                  port:
                    number: 80
            # 配置Context Path
            - path: /coffee
              pathType: ImplementationSpecific
              backend:
                service:
                  name: coffee-svc
                  port: 
                    number: 80

      可調整參數說明如下:

      參數

      是否必填

      說明

      metadata.name

      Ingress的名稱。

      說明

      Ingress的名稱在集群中必須是唯一的。因此,在創建Ingress時,您需要確保Ingress名稱的唯一性,以避免命名沖突。

      spec.ingressClassName

      關聯的IngressClass的名稱。

      spec.rules.host

      HTTP頭部host字段域名信息,需要配置為您的自有域名。

      當您在瀏覽器中訪問您的自有域名時,例如“http://demo.domain.ingress.top”,瀏覽器會在發送HTTP請求時自動添加一個“Host: demo.domain.ingress.top”的頭部字段。這樣,服務器就可以根據該頭部字段來識別請求的目標主機名。在Kubernetes中,Ingress規則中的host字段會與來自請求的Host頭部字段進行匹配。當匹配成功時,Ingress規則就會將請求路由到相應的后端服務進行處理。

      說明
      • 此處如果配置了自有域名,需要確保該自有域名完成備案,否則可能訪問時無法解析。具體操作,請參見ICP備案流程

      • 此處如果未配置,那么該Ingress規則將匹配所有到達Ingress Controller的請求。

      spec.rules.http.paths.path

      轉發路徑URL。

      spec.rules.http.paths.pathType

      URL匹配規則。詳情可參考基于URL路徑轉發請求

      spec.rules.http.paths.backend.service.name

      填寫您此前創建的Service名稱。

      spec.rules.http.paths.backend.service.port.number

      填寫您此前創建的Service的服務端口號。

      這個端口號的設置非常重要,因為它決定了在路由到后端服務時使用的端口。確保端口號正確設置,以確保請求可以正確路由到后端服務并被處理。

  4. 配置完成后單擊創建,頁面將提示創建成功

  5. 檢查Ingress創建成功:

    1. 在左側導航欄,選擇網絡 > 路由。可查看到名稱為cafe-ingress的Ingress已部署。

    2. 在cafe-ingress的端點列,可查看到端點信息。

kubectl

  1. 創建并拷貝以下內容到cafe-ingress.yaml文件中,用于創建Ingress。

    YAML配置文件參考

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: cafe-ingress 
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          # 配置Context Path
          - path: /tea
            pathType: ImplementationSpecific
            backend:
              service:
                name: tea-svc
                port:
                  number: 80
          # 配置Context Path
          - path: /coffee
            pathType: ImplementationSpecific
            backend:
              service:
                name: coffee-svc
                port: 
                  number: 80

    可調整參數說明如下:

    參數

    是否必填

    說明

    metadata.name

    Ingress的名稱。

    說明

    Ingress的名稱在集群中必須是唯一的。因此,在創建Ingress時,您需要確保Ingress名稱的唯一性,以避免命名沖突。

    spec.ingressClassName

    關聯的IngressClass的名稱。

    spec.rules.host

    HTTP頭部host字段域名信息,需要配置為您的自有域名。

    當您在瀏覽器中訪問您的自有域名時,例如“http://demo.domain.ingress.top”,瀏覽器會在發送HTTP請求時自動添加一個“Host: demo.domain.ingress.top”的頭部字段。這樣,服務器就可以根據該頭部字段來識別請求的目標主機名。在Kubernetes中,Ingress規則中的host字段會與來自請求的Host頭部字段進行匹配。當匹配成功時,Ingress規則就會將請求路由到相應的后端服務進行處理。

    說明
    • 此處如果配置了自有域名,需要確保該自有域名完成備案,否則可能訪問時無法解析。具體操作,請參見ICP備案流程

    • 此處如果未配置,那么該Ingress規則將匹配所有到達Ingress Controller的請求。

    spec.rules.http.paths.path

    轉發路徑URL。

    spec.rules.http.paths.pathType

    URL匹配規則。詳情可參考基于URL路徑轉發請求

    spec.rules.http.paths.backend.service.name

    填寫您此前創建的Service名稱。

    spec.rules.http.paths.backend.service.port.number

    填寫您此前創建的Service的服務端口號。

    這個端口號的設置非常重要,因為它決定了在路由到后端服務時使用的端口。確保端口號正確設置,以確保請求可以正確路由到后端服務并被處理。

  2. 執行以下命令,配置coffeetea服務對外暴露的域名和path路徑。

    kubectl apply -f cafe-ingress.yaml

    預期輸出:

    ingress.networking.k8s.io/cafe-ingress created
  3. (可選)執行以下命令獲取ALB實例DNS地址。

    kubectl get ingress

    預期輸出:

    NAME           CLASS    HOSTS                         ADDRESS                                               PORTS   AGE
    cafe-ingress   alb      demo.domain.ingress.top       alb-m551oo2zn63yov****.cn-hangzhou.alb.aliyuncs.com   80      50s

步驟六:配置域名解析

如果您在創建Ingress時配置了spec.rules.host字段為您的自有域名,您需要將您的域名添加CNAME記錄解析到ALB DNS名稱。后續通過您的自有域名訪問服務。

  1. 登錄容器服務ACK控制臺

  2. 單擊集群名稱,進入集群管理頁面。

  3. 在左側導航欄,選擇網絡 > 路由

  4. 在cafe-ingress的端點列,復制其對應的DNS名稱。

  5. 完成以下步驟來添加CNAME解析記錄。

    說明

    對于非阿里云注冊域名,需先將域名添加到云解析控制臺,才可以進行域名解析設置。具體操作,請參見域名管理。如果您是阿里云注冊的域名,請直接執行以下步驟。

    1. 登錄域名解析控制臺

    2. 權威域名解析頁面,找到目標域名,在操作列單擊解析設置

    3. 解析設置頁面,單擊添加記錄

    4. 添加記錄面板,配置以下信息完成CNAME解析配置,然后單擊確定

      配置

      說明

      記錄類型

      在下拉列表中選擇CNAME

      主機記錄

      您的域名的前綴。本文輸入@

      說明

      創建域名為根域名時,主機記錄為@

      解析請求來源

      選擇默認。

      記錄值

      輸入域名對應的CNAME地址,即您復制的ALB實例的DNS名稱。

      TTL

      全稱Time To Live,表示DNS記錄在DNS服務器上的緩存時間,本文使用默認值。

步驟七:測試流量轉發

在瀏覽器中輸入“測試域名+URL路徑”,測試流量轉發是否正確。

測試域名以demo.domain.ingress.top為例:

  1. 在瀏覽器中輸入demo.domain.ingress.top/coffee,將返回coffee-svc對應的后端服務界面。 image

  2. 在瀏覽器中輸入demo.domain.ingress.top/tea,將返回tea-svc對應的后端服務界面。image

相關文檔