Kubernetes被广泛认为是当前软件开发和运维的关键趋势,特别是在微服务架构和云原生应用方面。在采用Kubernetes作为容器化平台来发展现代化应用架构的场景中,确保应用的高可用性是关键,它不仅保障了业务的持续运作,而且为应用的水平动态伸缩提供了支撑。这种水平伸缩机制能够根据实际需求精确地调整资源分配,以防资源被浪费。在用户请求较少时,它能自动缩减资源的分配,帮助减轻财务开支。相反,在遭遇用户请求高峰时,系统可以迅速增加服务实例,保证了应用服务的持续性和用户体验的高标准。
本解决方案提供高可用性、高并发处理能力和弹性伸缩性,确保系统稳定运行并灵活适应业务需求。
单个ALB实例最大并发连接数最高可达1000万,最大新建连接数(CPS)最高可达100万,ALB单实例七层处理能力高达100万QPS。
ALB最大可提供99.995%SLA可用性保障。Kubernetes提供了健康检查机制以及自动弹性伸缩能力,帮助Kubernetes自动发现和处理不健康的容器实例,并根据工作负载的需求动态地增加或减少Pod的数量,确保服务持续可用。
无需投入大量人力来调整计算资源,无需提前预备计算资源,也无需担心不能及时释放冗余资源。
通过ALB+ACK的方案提升应用的可用性,在接收到用户的请求时,ALB与Kubernetes的ALB Ingress组件进行关联,能够根据请求内容将流量路由到目标分组内,同时开启ACK集群的节点和HPA弹性伸缩能力,实现在业务需求量波动时,自动调整指定类型的ECS实例和Pod个数,以满足业务需求。
在 Kubernetes环境中,Pod是最小的部署单位,它代表着集群中可以被创建和管理的最小的可部署计算实例,一个Pod由一个或多个容器(例如 Docker 容器)组成,这些容器共享存储、网络和运行配置规范。Pod里的容器作为一个整体被调度到同一个节点(例如云服务器ECS)上运行。 容器服务 Kubernetes 版(ACK)支持节点伸缩弹性和工作负载(Pod)伸缩弹性两种弹性伸缩方式,节点弹性伸缩通常是指集群能够根据工作负载的变化自动调整其节点(例如云服务器ECS)的数量,Pod弹性伸缩会根据工作负载的需求动态地增加或减少Pod的数量。