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

使用多集群Ingress

Ingress為Kubernetes集群中對外的七層負載均衡,可通過Ingress規則描述將請求匹配到對應的后端服務和應用上。您可以通過配置多集群Service和Ingress規則,將請求轉發到多個集群中的服務。本文介紹如何使用多集群Ingress。

前提條件

  • 已開啟艦隊管理功能。具體操作,請參見開啟艦隊管理功能

  • Fleet實例已添加多個關聯集群,且關聯集群為1.21及以上版本。具體操作,請參見添加關聯集群

  • 已從ACK One控制臺獲取Fleet實例的KubeConfig,并通過kubectl連接至Fleet實例。

  • 已安裝AMC命令行工具。具體操作,請參見AMC命令行幫助

  • 已通過多集群服務將需要多集群的Ingress后端應用和服務打通。更多信息,請參見多集群服務概述

  • 在需要對外訪問Ingress的集群中,已安裝Nginx-Ingress-Controller組件并升級到v1.7.0-aliyun.1或以上版本。具體操作,請參見升級Nginx Ingress Controller組件

使用說明

配置多集群Service和Ingress規則后,您可以將請求轉發到多個集群中的服務。使用多集群Ingress示意圖如下所示。

image

本文多集群使用Ingress示例中,對外暴露的Ingress集群為ACK Cluster 1和ACK Cluster 2,部署應用的集群為ACK Cluster 1、ACK Cluster 2和ACK Cluster 3。使用多集群Ingress示意圖如下所示。

image

操作步驟

  1. 在兩個集群中通過多集群服務能力,分別映射到提供服務的Ingress集群中。

    關于配置多集群服務的更多信息,請參見通過命令行管理多集群服務

    1. 分別在每個集群中配置ServiceExport,將集群中的服務導出到多集群Service(MultiCluster Service)中。

    2. 分別在對外的Ingress集群中,通過ServiceImport將多集群的Service導入到本集群用于Ingress訪問,導入后默認Service名稱為amcs-{service名}

    3. 分別在對外的Ingress集群中,執行以下命令查看導入的服務。

      kubectl get service amcs-nginx
      NAME         TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)   AGE
      amcs-nginx   ClusterIP   192.168.118.171   <none>        80/TCP    34m
      
      kubectl get endpointslice
      NAME                                                     ADDRESSTYPE   PORTS   ENDPOINTS               AGE
      imported-c0c4a2c9339e44235a5228d0b0ff2259c-nginx-vnlnd   IPv4          80      10.0.2.4,10.0.2.5       34m
      imported-ce962c460ae284243a3161d6f2c7b4cf7-nginx-d8rr5   IPv4          80      10.0.2.221,10.0.2.236   29m
      imported-ca5b667538054499ab399588efe4ab654-nginx-xfe1a   IPv4          80      10.0.2.145,10.0.2.123   20m
  2. 分別在對外的Ingress集群中,配置Ingress規則暴露服務。

    1. 使用以下YAML內容,創建ingress.yaml文件。

      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: multi-cluster-nginx-ingress
      spec:
        rules:
        - host: example.com
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: amcs-nginx
                  port: 80
    2. 執行以下命令,在對外的Ingress集群中分別配置Ingress規則指向多集群的Service。

      kubectl apply -f ingress.yaml
    3. 分別查看每個對外的集群Ingress對應的外部端點。

      # ACK Cluster 1
      kubectl get ingress
      NAME                          CLASS   HOSTS         ADDRESS         PORTS   AGE
      multi-cluster-nginx-ingress   nginx   example.com   XX.XX.XX.XX     80      26m
      
      # ACK Cluster 2
      kubectl get ingress
      NAME                          CLASS   HOSTS         ADDRESS         PORTS   AGE
      multi-cluster-nginx-ingress   nginx   example.com   XX.XX.XX.XX     80      26m
  3. 通過DNS將域名解析到多個集群的Ingress端點進行訪問。

    通過DNS的A記錄將Ingress的域名解析到多個對外的集群的Ingress地址上,提供客戶端訪問。關于域名解析的相關操作,請參見添加解析記錄