利用 ASM Serverless 网关
TG:@yunlaoda360
- 特点和优势:ASM Serverless 网关以 Serverless 的形式独立部署,完全由 ASM 管理,具备独立于 ACK Kubernetes 集群的高可用性,能够根据流量的实际情况自动进行弹性扩展,快速应对流量的波峰波谷,降低计算成本的同时提升系统的稳定性。
- 配置方法:登录 ASM 控制台,在左侧导航栏选择“入口网关”,在“网格管理”页面点击目标实例名称,然后在左侧导航栏选择“入口网关”,点击“使用 YAML 创建”,输入网关名称并配置相应的 YAML 文件,指定网关类型为 Serverless 网关,设置相关参数如端口、资源限制等,最后点击“创建”。
配置网络型负载均衡 NLB
- 特点和优势:网络型负载均衡 NLB 是阿里云推出的新一代四层负载均衡,支持超高性能和自动弹性能力,具有更高的可用性,能够进一步提升网关流量的稳定性。
- 配置方法:在创建 ASM 网关时,将网关的 ServiceType 设置为 LoadBalancer,ASM 默认会关联一个 NLB 作为网关 Service 的负载均衡器。
实现工作负载的自动弹性伸缩
- 特点和优势:根据监控的四个黄金指标维度(延迟、流量、错误和饱和度),ASM 为管理的服务生成一系列指标,可用于实现工作负载的自动弹性伸缩,使应用能够根据实际负载情况动态调整资源,提高弹性。
- 配置方法:开启采集 Prometheus 监控指标,部署自定义指标 API Adapter,定义一个 HPA,该 HPA 将根据每秒接收的请求数来扩缩工作负载数量。
使用 ASM 的多集群管理功能
- 特点和优势:将多个地域的 Kubernetes 集群添加到同一个 ASM 实例中,形成一个多集群服务网格。这样,不同地域的服务可以在统一的网格内进行管理和发现,实现跨地域服务的协同工作,提高应用的整体弹性和可用性。
- 配置方法:在阿里云控制台中,将多个 Kubernetes 集群添加到同一个 ASM 实例中,配置集群之间的网络连通性,确保服务能够在不同地域的集群之间互相感知和通信。
配置网关的高可用性
- 特点和优势:通过配置网关的高可用性,可以保障业务的连续性,避免因网关故障导致应用不可用。
- 配置方法:可以将网关 Pod 部署到指定的节点,提高网关的高可用性并增强与业务 Pod 的隔离性;还可以通过配置 Pod 反亲和性策略等方法提高网关高可用性。此外,启用优雅下线功能后,即使删除网关 Pod,现有连接在一定时间内仍能正常传输,避免流量损失。
利用阿里云的弹性容器实例(ECI)
- 特点和优势:ECI 提供了按需使用的弹性计算资源,能够快速响应应用的计算需求变化,实现资源的弹性扩展。
- 配置方法:在 ACK 集群中配置虚拟节点组件,使集群能够使用 ECI 弹性资源。在部署应用时,通过设置 Pod 的容忍度和节点亲和性,使 Pod 可以调度到 ECI 节点上。