1.企业测试环境
a) Master节点(尽量三台实现高可用,可以将某台Master禁止调度):8核16G+ 磁盘分为系统盘(路径:/,大小100G+)、Docker数据盘(/var/lib/docker,200G+)
b) Etcd数据盘(/var/lib/etcd,50节点50G+,150节点150G+,etcd节点可以和Master节点同一个宿主机,三个节点实现高可用)
c) Node节点:无特殊要求
d) 注意:测试环境所有的数据盘可以无需区分,有条件最好单独
a) Master节点(尽量三台实现高可用,可以将某台Master禁止调度):8核16G+ 磁盘分为系统盘(路径:/,大小100G+)、Docker数据盘(/var/lib/docker,200G+)
b) Etcd数据盘(/var/lib/etcd,50节点50G+,150节点150G+,etcd节点可以和Master节点同一个宿主机,三个节点实现高可用)
c) Node节点:无特殊要求
d) 注意:测试环境所有的数据盘可以无需区分,有条件最好单独
2.企业生产环境
a) Master节点:三个节点实现高可用(必须)
i. 节点数:0-100 8核16+
ii. 节点数:100-250 8核32G+
iii. 节点数:250-500 16核32G+
b) etcd节点:三个节点实现高可用(必须),有条件存储分区必须高性能SSD硬盘,没有SSD也要有高效独立磁盘
i. 节点数:0-50 2核8G+ 50G SSD存储
ii. 节点数:50-250 4核16G+ 150G SSD存储
iii. 节点数:250-1000 8核32G+ 250G SSD存储
c) Node节点:无特殊要求,主要是Docker数据分区、系统分区需要单独使用,不可以使用同一个磁盘,系统分区100G+、Docker数据分区200G+,有条件使用SSD硬盘,必须独立于系统盘
d) 其他:集群规模不大可以将etcd和master放置于同一个宿主机,
也就是每个master节点部署k8s组件和etcd服务,但是etcd的数据目录一定要独立,并且使用SSD,
两者部署在一起需要相对增加宿主机的资源,个人建议生产环境把master节点的资源一次性给够,
此处的费用不应该节省,可以直接使用16核32G或者64G的机器,之后集群扩容就无需扩容master节点的资源,减少风险。
其中master节点和etcd节点的系统分区100G即可。
a) Master节点:三个节点实现高可用(必须)
i. 节点数:0-100 8核16+
ii. 节点数:100-250 8核32G+
iii. 节点数:250-500 16核32G+
b) etcd节点:三个节点实现高可用(必须),有条件存储分区必须高性能SSD硬盘,没有SSD也要有高效独立磁盘
i. 节点数:0-50 2核8G+ 50G SSD存储
ii. 节点数:50-250 4核16G+ 150G SSD存储
iii. 节点数:250-1000 8核32G+ 250G SSD存储
c) Node节点:无特殊要求,主要是Docker数据分区、系统分区需要单独使用,不可以使用同一个磁盘,系统分区100G+、Docker数据分区200G+,有条件使用SSD硬盘,必须独立于系统盘
d) 其他:集群规模不大可以将etcd和master放置于同一个宿主机,
也就是每个master节点部署k8s组件和etcd服务,但是etcd的数据目录一定要独立,并且使用SSD,
两者部署在一起需要相对增加宿主机的资源,个人建议生产环境把master节点的资源一次性给够,
此处的费用不应该节省,可以直接使用16核32G或者64G的机器,之后集群扩容就无需扩容master节点的资源,减少风险。
其中master节点和etcd节点的系统分区100G即可。
node节点建议
Node节点上主要部署公司的一些业务应用,生产环境中不建议Master节点部署系统组件之外的其他Pod,测试环境可以允许Master节点部署Pod以节省系统资源