如果部署的应用需要对公网提供访问,需要部署一个入口网关服务(Ingress Gateway)到集群中。本文介绍如何为ASM实例中的ACK集群创建入口网关服务。
前提条件
已添加集群到ASM实例。背景信息
入口网关服务为Kubernetes集群提供了七层网关功能,对外提供一个统一的七层服务入口,根据HTTP请求的内容将来自同一个TCP端口的请求分发到不同的Kubernetes服务。操作步骤
- 登录ASM控制台,在左侧导航栏,选择 。
- 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
- 在入口网关页面,单击创建,配置网关的基本信息。网关配置项说明如下。您也可以在入口网关页面,单击使用YAML创建定义入口网关服务。具体操作,请参见使用KubeAPI管理入口网关。
配置项 说明 名称 自定义网关的名称。 部署集群 选择网关部署的集群。 负载均衡类型 选择负载均衡的类型,支持公网访问或私网访问。 新建负载均衡 选择负载均衡。 - 使用已有负载均衡:从已有负载均衡列表中选择。
- 新建负载均衡:单击新建负载均衡,从下拉列表中选择所需的负载均衡规格。
说明 建议您为每个Kubernetes服务分配一个SLB。如果多个Kubernetes服务复用同一个SLB,存在以下风险和限制:- 使用已有的SLB会强制覆盖已有监听,可能会导致您的应用不可访问。
- Kubernetes通过Service创建的SLB不能复用,只能复用您手动在控制台(或调用OpenAPI)创建的SLB。
- 复用同一个SLB的多个Service不能有相同的前端监听端口,否则会造成端口冲突。
- 复用SLB时,监听的名字以及虚拟服务器组的名字被Kubernetes作为唯一标识符。请勿修改监听和虚拟服务器组的名字。
- 不支持跨集群、跨地域复用SLB。
端口映射 单击添加端口,在新增端口行中,输入协议和服务端口。 说明 控制台默认提供了2个Istio常用的端口。您可以根据需要自行添加或删除端口。资源规格 选择网关Pod的CPU和内存规格。 网关副本数 设置网关副本数。 - 可选:单击高级选项,进行相关配置。
配置项 说明 外部流量策略 设置外部流量策略。 - Local:流量只发给本机的Pod。
- Cluster:流量可以转发到集群中其他节点上的Pod。
扩缩容HPA 选中扩缩容HPA,然后进行如下配置: 说明 该功能仅适用于企业版或旗舰版。- 指标:设置监控项和阈值。超过该阈值,将增加网关副本数;低于该阈值,将减少网关副本数。
如果您同时设置了CPU和内存的阈值,则表示只要其中一个高于或低于该阈值,都会进行扩缩容。
- 最大副本数:网关可扩容的副本数量上限。
- 最小副本数:网关可缩容的副本数量下限。
滚动升级 选中滚动升级,然后进行如下配置: - 不可用最大副本数:设置滚动升级时不可用最大的副本数量。
- 超过期望的副本数:设置滚动升级时最多不能超过的副本数量。例如设置为25%,表示滚动升级时副本数量不能超过原来副本的125%。
启用基于MultiBuffer的TLS加解密性能优化 选中启用基于MultiBuffer的TLS加解密性能优化,将提升TLS加解密的速度。- 支持的节点亲和性标签选择:根据节点标签匹配性能优化的节点。
- 轮询延时(毫秒):设置该参数,可以减少加解密操作的等待时间。更多信息,请参见配置项说明。
说明 该功能仅适用于企业版或旗舰版。尽量分散部署网关副本 设置podAntiAffinity时,Pod优先部署到不同的节点上。 SLB 优雅下线 选中SLB 优雅下线后,当SLB停用时,将不会对网关业务产生影响。 连接超时时间(秒):SLB移除网关Pod后,会等待配置的连接超时时间,然后再断开与Pod的连接。配置该参数,可以给网关Pod提供一个缓冲时间,来处理现有的连接。网关Pod默认优雅下线时间为30s,SLB侧配置的超时时间通常不应该超过30s。
说明 该功能仅适用于企业版或旗舰版。 - 配置完成后,单击创建。
执行结果
登录容器服务控制台查看入口网关
- 查看新添加的入口网关服务的基本信息。
- 登录容器服务管理控制台,在左侧导航栏单击集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
- 在服务页面,从命名空间下拉列表中选择istio-system。
- 单击目标服务操作列的详情。
在网关详情页面查看入口网关服务的详细信息,例如外部端点IP(入口网关IP)。
- 查看新添加入口网关服务的Pod信息。
- 登录容器服务管理控制台,在左侧导航栏单击集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
- 在容器组页面,从命名空间下拉列表中选择istio-system。
- 单击目标Pod操作列的详情,查看入口网关服务的Pod详细信息。
登录ASM控制台管理入口网关
- 登录ASM控制台,在左侧导航栏,选择 。
- 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
- 在入口网关页面,对入口网关进行管理。
操作 说明 查看或编辑入口网关 - 方式一:在目标网关右侧,单击查看详情。
- 方式二:在目标网关右侧,单击查看YAML。
删除入口网关 在目标网关右侧,单击删除,在确认对话框,单击确定。 重要 入口网关删除后,外部服务将无法通过该入口网关访问ASM内部服务。被删除的入口网关无法恢复,只能重建,请谨慎操作。