集群规格规划
Kubernetes集群的稳定性受到两方面因素的影响,一方面是资源对象的数量,另一方面是节点的规格和数量。对于后者而言,选择小数量、大规格的ECS搭建集群或者大数量、小规格的ECS搭建集群都可能存在较大的隐患。因此对集群规格进行合理规划显得尤为重要。
在考虑ECS规格时,需要考虑以下因素:
- 网络带宽:大规格ECS的网络带宽优于小规格,适用于对带宽需求较大的应用。
- 网络通信:容器在同一大规格ECS内部建立链路的比例增大,可以避免跨ECS访问,减少网络开销。
- 容量:ECS系统需要预留一部分CPU、内存、磁盘等节点资源,用于集群管理和基础设施组件的运行。小规格ECS由于抢占资源等因素,使得集群的稳定性和可靠性降低的概率大增。
- 碎片化:节点资源分配时,小规格ECS更容易被少数甚至一个容器独占,导致不一致或不连续的资源需求难以有效组合,进而造成资源浪费。
- 镜像拉取:大规格ECS更能有效地利用容器镜像的分层机制,提升拉取镜像的效率。
ECS数量的考量因素:
- 小数量的ECS,在节点故障时,由于资源冗余不足,可能导致无法及时处理故障节点外排的业务。
- 大数量的ECS极大地考验Master的性能和稳定性。
选择Master节点规格
Master节点运行着etcd、kube-apiserver、kube-scheduler、kube-controller-manager等核心组件,Master节点的稳定性直接决定整个Kubernetes的稳定性。集群规模与所需的Master规格成正比,即集群规模越大,所需Master规格越高。
在个人开发和学习环境中,可以选择小规格的ECS进行体验。然而,在生产环境中,建议用户在综合考虑节点数量、Pod数量、部署频度以及apiserver访问量的基础上评估集群规模。以下是从节点数量单个纬度出发给出的Master节点规格的推荐配置。
Master节点推荐规格 节点规模 4核 8GB 1~5个节点 4核 16GB 6~20个节点 8核 32GB 21~100个节点 16核 64GB 101~200个节点 64核 128GB 201~500个节点
选择Worker节点规格
1、ECS规格要求,要求CPU大于等于4核,内存大于等于8GB。
2、确定集群可用性的容忍度。
- 计算集群总核数,例如320核。
- 确定容忍度,例如容忍10%的故障。那么最小选择10台32核ECS,并保证高峰运行负荷不超过320 * 90% = 288核。在这个容忍度下,即使一台ECS故障,剩余ECS仍能支撑业务运行
3、根据Pod的CPU和内存配比选择规格,天翼云支持1:2、1:4、1:8的配比。
4、根据网络需求选择ECS类型,例如,对于网络密集型应用,推荐选择网络增强型ECS。ECS规格参考:点这里