本文介绍构建Kubernetes集群时推荐的ECS选型。

集群规划

目前在创建Kubernetes集群时,存在使用很多小规格ECS的情况,这样做存在以下弊端:
  • 小规格Woker ECS的网络资源受限。
  • 如果一个容器基本可以占用一个小规格ECS,此ECS的剩余资源就无法利用(构建新的容器或者是恢复失败的容器),在小规格ECS较多的情况下,存在资源浪费。
使用大规格ECS的优势:
  • 网络带宽大,对于大带宽类的应用,资源利用率高。
  • 容器在一台ECS内建立通信的比例增大,减少网络传输。
  • 拉取镜像的效率更高。因为镜像只需要拉取一次就可以被多个容器使用。而对于小规格的ECS拉取镜像的次数就会增多。若需要联动ECS伸缩集群,则需要花费更多的时间,反而达不到立即响应的目的。

选择Master节点规格

通过容器服务创建的Kubernetes集群,Master节点上运行着etcd、kube-apiserver、kube-controller等核心组件,对于Kubernetes集群的稳定性有着至关重要的影响,对于生产环境的集群,必须慎重选择Master规格。Master规格跟集群规模有关,集群规模越大,所需要的Master规格也越高。
说明 您可从多个角度衡量集群规模:节点数量、Pod数量、部署频率、访问量。这里简单的认为集群规模就是集群里的节点数量。

对于常见的集群规模,可以参考如下的方式选择Master节点的规格(对于测试环境,规格可以小一些。下面的选择能尽量保证Master负载维持在一个较低的水平上):

节点规模 Master规格
1-5个节点 4核8G(不建议2核4G)
6-20个节点 4核16G
21-100个节点 8核32G
100-200个节点 16核64G

选择Worker节点规格

  • 确定整个集群的日常使用的总核数以及可用度的容忍度。

    例如:集群总的核数有160核,可以容忍10%的错误。那么最小选择10台16核ECS,并且高峰运行的负荷不要超过160*90%=144核。如果容忍度是20%,那么最小选择5台32核ECS,并且高峰运行的负荷不要超过160*80%=128核。这样就算有一台ECS出现故障,剩余ECS仍可以支持现有业务正常运行。

  • 确定CPU:Memory比例。对于使用内存比较多的应用例如java类应用,建议考虑使用1:8的机型。

选用裸金属神龙服务器

以下两种场景,建议选用裸金属神龙服务器:
  • 集群日常规模能够达到1000核。一台神龙服务器至少96核,这样可以通过10~11台神龙服务器即可构建一个集群。
  • 快速扩大较多容器。例如:电商类大促,为应对流量尖峰,可以考虑使用神龙服务来作为新增节点,这样增加一台神龙服务器就可以支持很多个容器运行。
使用神龙服务器构建集群,存在以下优势:
  • 超强网络: 配备RDMA(Remote Direct Memory Access)技术。通过Terway容器网络,充分发挥硬件性能,跨宿主机容器带宽超过9Gbit/s。
  • 计算性能零抖动:自研芯片取代Hypervisor,无虚拟化开销,无资源抢占。
  • 安全:物理级别加密,支持Intel SGX加密,可信计算环境,支持区块链等应用。