如果部署的应用需要对公网提供访问,需要部署一个入口网关服务到集群中。本文介绍如何为ASM实例中的ACK集群添加入口网关服务。

前提条件

已创建至少一个ASM实例,并已添加至少一个ACK集群到该实例中。

背景信息

入口网关服务(Ingress Gateway)为Kubernetes集群提供了七层网关功能,对外提供一个统一的七层服务入口,根据HTTP请求的内容将来自同一个TCP端口的请求分发到不同的Kubernetes服务。

操作步骤

  1. 登录ASM控制台
  2. 在左侧导航栏,选择服务网格 > 网格管理
  3. 网格管理页面,找到待配置的实例,单击实例的名称或在操作列中单击管理
  4. 在网格详情页面左侧导航栏单击ASM网关,然后在右侧页面单击创建
  5. 设置网关的基本信息。
    说明 您也可以通过单击使用YAML创建来定义入口网关服务,详情请参见自定义入口网关服务
    参数 说明
    名称 自定义网关的名称。
    部署集群 选择网关部署的集群。
    网关类型 选择网关类型,支持入口网关和出口网关。
    负载均衡类型 选择负载均衡的类型,可选公网访问私网访问
    新建负载均衡 选择负载均衡,可选:
    • 使用已有负载均衡:从已有负载均衡列表中选择。
    • 新建负载均衡:单击新建负载均衡,从下拉列表中选择所需的负载均衡规格。
    说明 建议您为每个Kubernetes服务分配一个SLB。如果多个Kubernetes服务复用同一个SLB,存在以下风险和限制:
    • 使用已有的SLB会强制覆盖已有监听,可能会导致您的应用不可访问。
    • Kubernetes通过Service创建的SLB不能复用,只能复用您手动在控制台(或调用OpenAPI)创建的SLB。
    • 复用同一个SLB的多个Service不能有相同的前端监听端口,否则会造成端口冲突。
    • 复用SLB时,监听的名字以及虚拟服务器组的名字被Kubernetes作为唯一标识符。请勿修改监听和虚拟服务器组的名字。
    • 不支持跨集群、跨地域复用SLB。
    端口映射 单击添加端口,在新增端口行中,输入服务端口和容器端口。
    说明
    • 建议容器端口与服务端口一致,并在Istio网关资源定义中启用了该端口。
    • 控制台默认提供了4个Istio常用的端口,但并不意味着必须从中选择,您可以根据需要自行添加或删除端口。
    资源规格 选择网关Pod的CPU和内存规格。
    网关副本数 设置网关副本数。
    自动创建网关规则配置 设置是否自动创建同名的网关规则。
  6. 可选:单击高级选项,设置以下参数。
    参数 说明
    外部流量策略 设置外部流量策略,可选:
    • Local:流量只发给本机的Pod。
    • Cluster:流量可以转发到集群中其他节点上的Pod。
    扩缩容HPA 选中扩缩容HPA,然后设置以下参数:
    说明 仅ASM商业版(专业版)支持该功能。
    • 指标:设置监控项阈值,超过该阈值,将增加网关副本数。低于该阈值,将减少网关副本数。

      如果您同时设置了CPU和内存的阈值,则表示只要其中一个高于或低于该阈值,都会进行扩缩容。

    • 最大副本数:网关可扩容的副本数量上限。
    • 最小副本数:网关可缩容的副本数量下限。
    滚动升级 选中滚动升级后,设置以下参数:
    • 不可用最大副本数:设置滚动升级时不可用最大的副本数量。
    • 超过期望的副本数:设置滚动升级时最多不能超过的副本数量。例如设置为25%,表示滚动升级时副本数量不能超过原来副本的125%。
    TLS性能优化

    使用TLS性能优化功能,将提升TLS加解密的速度。

    选中TLS性能优化,选择节点亲和性标签,根据节点标签匹配性能优化的节点。

    说明 仅ASM商业版(专业版)支持该功能,且您需要开启基于MultiBuffer的TLS加解密性能优化功能。
    SLB优雅下线 选中SLB优雅下线后,当SLB停用时,将不会对网关业务产生影响。
    说明 仅ASM商业版(专业版)支持该功能。
  7. 单击创建

执行结果

添加入口网关服务之后,可登录容器服务控制台查看详情。
  • 查看新添加的入口网关服务的基本信息。
    1. 登录容器服务管理控制台
    2. 在控制台左侧导航栏中,单击集群
    3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
    4. 在集群管理页左侧导航栏中选择网络 > 服务
    5. 服务页面,从命名空间下拉列表中选择istio-system
    6. 单击目标服务操作列的详情

      在网关详情页面查看入口网关服务的详细信息,例如外部端点IP(入口网关IP)。

  • 查看新添加入口网关服务的Pod信息。
    1. 登录容器服务管理控制台
    2. 在控制台左侧导航栏中,单击集群
    3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
    4. 在左侧导航栏选择工作负载 > 容器组
    5. 容器组页面,从命名空间下拉列表中选择istio-system
    6. 单击目标Pod操作列的详情,查看入口网关服务的Pod详细信息。