赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 分布式云容器平台ACK One
  4. 操作指南
  5. 多集群舰队
  6. 多集群服务
  7. 使用多集群Ingress

使用多集群Ingress

  • 多集群服务
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

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地址上,提供客户端访问。关于域名解析的相关操作,请参见添加解析记录。

相关文章

多集群服务概述 2025-04-18 18:10

随着Kubernetes集群的广泛应用,企业往往需要运行和管理多个Kubernetes集群,来满足业务隔离部署运维的需求,但业务之间还需要相互访问。通过多集群服务,让您无需创建负载均衡,即可实现Kubernetes服务的跨集群访问。本文介绍多集群服务的架构、场景和网络规划。

通过命令行管理多集群服务 2025-04-18 18:10

通过多集群服务,让您无需创建负载均衡,即可实现Kubernetes服务的跨集群访问。本文通过示例介绍如何在Fleet实例上创建ServiceExport、ServiceImport等资源来管理多集群服务,实现Kubernetes服务的跨集群访问。 前提条件

通过控制台管理多集群服务 2025-04-18 18:10

通过多集群服务,您无需创建负载均衡,即可实现Kubernetes服务的跨集群访问。本文介绍如何通过控制台来管理多集群服务,实现Kubernetes服务的跨集群访问。 概述 通过多集群服务实现Kubernetes服务的

使用多集群Ingress 2025-04-18 18:10

Ingress为Kubernetes集群中对外的七层负载均衡,可通过Ingress规则描述将请求匹配到对应的后端服务和应用上。您可以通过配置多集群Service和Ingress规则,将请求转发到多个集群中的服务。本文介绍如何使用多集群Ingress。

通过Headless类型多集群Service跨集群访问有状态服务的指定实例 2025-04-18 18:10

通过多集群服务,无需负载均衡,即可实现Kubernetes服务的跨集群访问。Headless类型服务不仅支持跨集群服务访问,还可以根据域名选择服务中的指定Pod实例进行访问,适用于有状态服务(StatefulSets)的应用,如分布式数据库、消息队列等。本文以MySQL为例,介绍如何通过Headle

使用原生Service域名跨集群服务访问 2025-04-18 18:09

ACK One多集群Service支持通过MultiClusterService实现用原生Service域名跨集群服务访问。无需修改业务代码、业务Pod的DNSConfig配置或CoreDNS配置,直接使用原生Service便可实现跨集群流量路由。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号