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

多集群服务概述

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

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

多集群服务架构

多集群服务打破了多集群服务访问的边界,让您更加方便地构建多集群应用系统。多集群服务架构如下图所示。

image
  1. 图中链路1为管控链路,Fleet实例管理关联集群Kubernetes服务的开放与注入。

    • 通过在集群ACK Cluster 1上创建服务开放ServiceExport对象,ACK Cluster 1成为服务提供者,将服务Service 1设置为允许集群外访问。

    • 通过在集群ACK Cluster 2上创建服务注入ServiceImport对象,ACK Cluster 2成为服务消费者,访问服务提供者开放的服务。

  2. 图中链路2为数据链路,在ACK Cluster 1开放Service 1服务,ACK Cluster 2注入Service 1服务后,ACK Cluster 2可以访问ACK Cluster 1的Service 1服务。实现跨集群的Kubernetes服务访问。

多集群服务原理

多集群服务原理如下图所示。

image
  1. 为实现Cluster 2中的Pod跨集群访问Cluster 1中的服务Service 1,可以在Cluster 1中创建ServiceExport对象,在Cluster 2中创建ServiceImport对象。

  2. ACK One Fleet实例在Cluster 2中会创建以amc-为前缀的Service amc-Service1,并将Cluster 1的Pod IP同步为Service amc-Service1的后端。

  3. Cluster 2中的Client Pod,您可以通过以下两种方式跨集群访问Cluster 1中的Service 1:

    1. 访问以amc-为前缀的服务名,例如amc-Service1.provider-ns。

    2. 通过跨集群域名clusterset.local域访问,例如Service1.provider-ns.svc.clusterset.local。

多集群服务场景

服务多集群访问

通过创建ServiceExport和ServiceImport资源,指定了服务提供者ACK Cluster 1和服务消费者ACK Cluster 2,服务消费者ACK Cluster 2的Client Pod可以访问服务提供者所公开的服务,服务访问通过域名解析,流量在服务提供者后端Pod间负载均衡,并支持Pod数量的扩展收缩。多集群访问示意如下图所示。

image

服务高可用多集群访问

服务Service 1在多个集群上高可用部署,Client Pod跨集群访问服务Service 1,流量可以在多个集群的多个Pod间均衡。高可用多集群访问示意如下图所示。

image

多集群服务网络规划

多集群服务跨集群访问的前提要求集群间Kubernetes Pod网络连通, 一个集群中的Pod可以访问另一个集群的Pod。需要满足下列条件:

  1. 在多VPC情况下,确保VPC地址段不重叠,VPC间通过CEN互联。

  2. 多集群Pod地址段不重叠,并且集群间节点池安全组相互放行Pod地址段。

  3. 多集群Pod地址段和Service地址段不能重叠。

更多信息,请参见ACK托管集群网络规划。

使用限制

多集群服务功能要求关联集群版本为1.22及以上版本。

相关文章

多集群服务概述 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号