创建统一接入集群

统一接入集群承担统一接入和单元化网关的角色,在每个 K8s 集群内统一接入集群平行发布运维,多个平行的统一接入集群联合成一个联邦接入集群,是一个逻辑的集群实体。统一接入网关以集群的方式来承载业务负载均衡的流量,您需要根据流量的类型来规划集群,比如公网、内网等。

说明

集群上线后,您需要创建统一接入实例,并为应用服务创建负载均衡/统一接入类型的访问配置,才能进行各类业务流量的接入及路由,具体的转发及监听规则需在 应用服务访问配置中设定。

组件作用

统一接入网关的作用主要是请求转发,即根据用户请求中的路由类型、域名和路径信息,识别出用户请求的目标应用并转发。

路由类型

路由类型主要分为 Gzone 路由(非单元化路由)和 Rzone 路由(单元化路由),详情如下

  • Gzone 路由:根据目标应用和目标单元类型,随机找出其路由的目标服务器组,如果存在多个目标服务器组,则按照目标服务器组的权重来进行流量分发。

  • Rzone 路由:当识别到用户请求最终目标为 Rzone 服务器时,通过用户请求的 Cookie 对锁进行解析,并计算出确定的 Rzone 路由目标。解析步骤如下:

    1. 锁的 Key 为 zone_op,通过 Key 计算出其 Value 值。

    2. 根据该 Value 值进行目标单元计算和转发。

路由示例

根据 zone_op 对应 Value 值的范围,假设我们实现设置了如下路由规则:

  • [00,49], 路由到 rz00 单元。

  • [50,99], 路由到 rz01 单元。

则路由结果如下:

  • 当 zone_op 的 Value 值不在 [00,99] 范围内:会将流量路由到当前 spanner 所在机房的目标应用对应的服务器组中,如果存在多个目标服务器组,则按照目标服务器的权重进行流量分发。

  • 当 zone_op 的 Value 值位于 [00,49] 范围内:会将流量路由到目标应用的 rz00 单元所在目标服务器中,如果存在多个目标服务器组,则按照目标服务器的权重进行流量分发。

  • 当 zone_op 的 Value 值位于 [50,99] 范围内:会将流量路由到目标应用的 rz01 单元所在目标服务器中,如果存在多个目标服务器组,则按照目标服务器的权重进行流量分发。

使用场景

主要使用场景如下:

  • 在异地多活、弹性流量和容灾切换场景下,需要对机房流量进行分配和再分配(划拨、切入和切出)。

  • 动态修改路由规则之后,接入路由组件会根据新的路由规则,将业务流量路由至新的目标机房,从而实现流量分配、弹性容量和容灾切换。

  • 部署方式:按机房部署,即各个机房各部署一套接入路由集群。

注意事项

  • 统一接入集群的容器只能调度到专有的统一接入类型的节点上,因此,创建统一接入集群时需要保证有足够的资源供调度。

  • 在创建集群后报资源不足调度失败错误时,您需要在集群管理页面进行节点扩容,并选择 统一接入节点 类型。详情请参考 扩容集群

  • 统一接入集群横跨各可用区,所以需要同时保证各可用区资源充足。

操作步骤

  1. 登录控制台。

  2. 在左侧导航栏中选择 网络 > 统一接入集群,进入网管集群列表页面。

  3. 单击 创建网关集群,完成以下配置后,单击 提交

    1. 完成基本信息配置。

      配置项

      说明

      集群名称

      只允许包含小写字母、数字、中划线,且必须以字母开头、以字母或数字结尾。长度为 1-29 个字符。

      网络类型

      可指定的网络类型包括内网、公网。指定集群的网络类型后,该集群上仅能创建与之相同网络类型的统一接入实例。

      初始集群状态

      可指定 在线维护

      • 在线:网关集群对外提供流量转发服务,同时可以接受转发规则的更新。

      • 维护:网关集群仅对外提供流量转发服务,但不接受转发规则的更新请求。

      容器规格

      统一接入集群内单个节点的总资源等于控制平面固定资源和数据平面自定义资源之和。容器的规格和节点的数量决定了该集群的请求处理能力。具体数据请参考 压测结果。

      • 控制平面固定资源:固定规格为 1C/1G/10G(CPU/内存/磁盘)。

      • 数据平面自定义资源:可自定义,推荐使用的最小规格为 4C/8G/40G,CPU:内存:磁盘容量的配比为 1:2:10。通常情况下,每 1C/2G/10G 的数据平面规格可以支持 3200 QPS 的 HTTP 短连接。

      host 网络模式

      网关集群所采用的网络模型。

      • 若选择 ,Pod 会复用容器所在宿主机的 IP。

      • 若选择 ,每个 Pod 会拥有独立 IP。

        说明

        高密度部署模式下,仅可以选择 ,即选择非 host 模式。

    2. 完成容器版本配置。

      配置项

      说明

      名称

      网关容器的版本名称。长度为 1-5 个字符。只包含小写字母、数字、中划线,必须以字母开头,以字母或数字结尾。

      容器镜像

      网关容器的镜像地址,输入 registry.cn-hangzhou.aliyuncs.com/sofastack/spannerplus:1.1.0

      副本数

      网关节点的数量。出于容灾需要,建议一个集群至少包含 3 个以上节点。可以按照对容量的需求,合理规划容器规格与节点数量。

      说明

      创建副本数为 0 的网关集群会导致集群不可用,需要重新扩容。

      标签

      输入 key、value,为该版本的网关容器添加对应的 label。