为了更好地保证集群的稳定性和可靠性,推荐您选择合适的ECS实例规格作为集群节点。本文介绍搭建ACK集群时ECS实例规格的推荐配置。
集群规格规划
创建ACK集群时,如果您选用了较多小规格的ECS实例,可能存在以下弊端:
网络问题:小规格Worker节点的网络资源受限。
容量问题:为了确保集群的稳定性和可靠性,系统需要预留一部分节点资源用于集群管理和基础设施组件的运行,包括CPU、内存和磁盘等。小规格ECS可能影响集群的性能和可用性。关于ACK对节点CPU和内存资源的预留策略,请参见节点资源预留策略。
碎片化问题:节点资源分配时,如果一个容器占用一个小规格ECS,由于资源需求的不一致或不连续性,将导致该ECS的剩余资源无法利用(构建新的容器或恢复失败的容器),从而造成资源浪费。例如,某个节点只能分配整数倍的CPU,而其应用程序只需要少量CPU,那么剩余的CPU资源将被浪费。
使用大规格ECS有以下优势:
网络优势:网络带宽大,对于大带宽类的应用,资源利用率高。同时,容器在一台ECS内建立通信的比例增大,将减少网络传输。
镜像拉取优势:拉取镜像的效率更高。因为镜像只需要拉取一次就可以被多个容器使用。而对于小规格的ECS拉取镜像的次数就会增多,若需要联动ECS伸缩集群,则需要花费更多的时间,反而达不到立即响应的目的。
关于ECS规格的选择,请参见下文了解。
选择Worker节点规格
节点规格为4核 8 GB及以上。
确定整个集群日常使用的总核数以及可用度的容忍度。
例如,集群总的核数有160核,可以容忍10%的错误。那么最小选择10台16核ECS,并且高峰运行的负荷不要超过160 ×90%=144核。如果容忍度是20%,那么最小选择5台32核ECS,并且高峰运行的负荷不要超过160×80%=128核。这样即使有一台ECS出现故障,剩余ECS仍可以支持现有业务正常运行。
当集群日常规模达到1000核左右,可以选用裸金属神龙服务器。更多信息,请参见裸金属神龙服务器使用场景及优势。
根据Pod资源要求,确定CPU和Memory的配比,例如1:2、1:4等。对于使用内存较多的应用例如Java类应用,建议考虑使用1:8的机型。
选择Master节点规格
创建ACK集群时,Master节点上运行着etcd、kube-apiserver、kube-controller等核心组件。对于面向生产环境的ACK专有集群,您需要选择合适的Master节点规格,避免对集群稳定性产生影响。Master规格与集群规模有关,集群规模越大,所需要的Master规格也越高。
您可从多个角度衡量集群规模,例如节点数量、Pod数量、部署频率、访问量。本文简化逻辑,以集群中的节点数量为标准衡量集群规模。
在个人测试和学习环境中,您可以选择小规格的ECS实例进行体验。但对于生产规模的集群,建议您参见下表选择Master节点规格,尽量保证Master负载维持在安全水位上。
节点规模 | Master节点推荐规格 |
1~5个节点 | 4核 8 GB(不推荐使用2核 4 GB及以下规格) |
6~20个节点 | 4核 16 GB |
21~100个节点 | 8核 32 GB |
100~200个节点 | 16核 64 GB |
200~500个节点(请估爆炸半径风险) | 64核 128GB |
裸金属神龙服务器使用场景及优势
弹性裸金属服务器(ECS Bare Metal Instance)是基于阿里云完全自主研发的下一代虚拟化技术而打造的新型计算类服务器产品,兼具虚拟机的弹性和物理机的性能及功能特性。与上一代虚拟化技术相比,下一代虚拟化技术不仅保留了普通云服务器的弹性体验,而且保留了物理机的性能与特性,全面支持嵌套虚拟化技术。
弹性裸金属服务器在独占计算资源、加密计算、搭建新型混合云等方面更具优势。关于弹性裸金属服务器的详细介绍以及支持的规格族,请参见弹性裸金属服务器概述。
弹性裸金属服务器的典型使用场景包括但不仅限于:
集群日常规模能够达到1000核。一台神龙服务器至少为96核,在大规模集群场景下,您可以通过10台或11台神龙服务器构建一个集群。
快速扩展容器数量。例如,在电商类大促场景下,相较于同配置的物理机,弹性裸金属服务器的性能更优,可提供数百万vCPU计算能力,以承载流量洪峰。
不支持使用的ECS实例规格
通用限制
出于集群稳定性、安全性等因素考量,ACK不支持使用下表中的实例规格作为Worker节点或Master节点。
不支持的实例规格族或族群 | 不支持的实例规格示例 | 说明 | 备注 |
突发性能实例规格族t5 | ecs.t5-lc2m1.nano | 实例性能不稳定,可能导致集群不稳定。 | 无。 |
突发性能实例规格族t6 | ecs.t6-c4m1.large | 实例性能不稳定,可能导致集群不稳定。 | 无。 |
vCPU核数小于4的机器规格 | ecs.g6.large | 实例规格配置过低,可能导致集群不稳定。 | 支持前往配额平台申请使用创建集群和节点池支持低规格ECS机型。 |
安全增强计算型实例规格族c6t | ecs.c6t.large | 暂不支持。 | 无。 |
安全增强通用型实例规格族g6t | ecs.g6t.large | 暂不支持。 | 无。 |
超级计算集群(SCC)规格族群 | ecs.sccg7.32xlarge | 暂不支持。 | 无。 |
关于ACK支持的GPU实例规格族,请参见ACK支持的GPU机型。
Terway网络插件限制
如果您的网络插件为Terway,单节点支持的最大Pod数量会基于节点使用的ECS规格支持的ENI数量来计算。因此,不同Terway模式所能支持的ECS规格不同,详细信息请参见使用Terway网络插件。
共享ENI模式或共享ENI模式+Trunk ENI:单节点的Pod限额必须>11,即
(ECS规格支持的ENI数量-1)×单个ENI支持的私有IP数>11
。例如,ecs.g6.large支持的弹性网卡ENI数量为2,支持的单网卡私有IPv4地址数为6,
单节点的Pod限额=(2-1) x 6 = 6
,无法使用。独占ENI模式:单节点的Pod限额必须>6,即
ECS规格支持的ENI数量-1 > 6
。例如,ecs.g6.xlarge支持的弹性网卡ENI数量为3,
单节点的Pod限额=3 - 1 =2
,无法使用。