本文介绍构建Kubernetes集群时该如何选择ECS类型以及选型的注意事项。

集群规划

目前在创建Kubernetes集群时,存在着使用很多小规格ECS的现象,这样做有以下弊端:
  • 小规格Worker 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核8 GB(不建议2核4 GB)
6~20个节点 4核16 GB
21~100个节点 8核32 GB
100~200个节点 16核64 GB

选择Worker节点规格

  • ECS规格要求:CPU大于等于4核,且内存大于等于8 GiB。
  • 确定整个集群的日常使用的总核数以及可用度的容忍度。

    例如:集群总的核数有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容器网络,充分发挥硬件性能,跨宿主机容器带宽超过9 GB。
  • 计算性能零抖动:自研芯片取代Hypervisor,无虚拟化开销,无资源抢占。
  • 安全:物理级别加密,支持Intel SGX加密,可信计算环境,支持区块链等应用。