请教各位专家个关于容器云的问题,容器云上的集群划分都是依据的什么原则?是一个大集群还是按业务系统的业务连续性级别或者按系统进行划分的?或者其他原则?欢迎大家交流经验
就企业的实践来看,容器云集群建议按照系统的规模和业务连续性级别划分。
针对于业务连续性较强的集群,单独建立集群,并由上一级的管理平台进行管理;
针对于小规模、业务连续性要求不高的集群,直接混合部署至一个集群即可,按照集群本身的隔离原则和隔离能力,实现划分。
对于我们而言,在设计云平台时考虑到多租户的实现,多租的实现方式有基于逻辑的隔离、基于物理的隔离。我们实现的高密度集群管理,即可以基于单个主机部署多套K8S(基于虚拟网络、虚拟存储)实现了小集群的自治和大集群的统管,这样减少了整体大量小集群的管理、运维工作,是一种不错的体验,但会增加一部分的资源占用。主要考虑各个租户对于隔离性的要求,选择合适方案即可。
如果是共享计算节点的集群,建议按照计算类型和内存使用类型做区分。绝大部分应用都可以共享集群节点,但是一些计算或者网络I/O非常密集型的应用(如ES,Spark),建议还是用单独集群承载。此外,对于网络模型有特殊要求,需要使用宿主机本地存储的,建议也用独立的集群或者节点承载。
不同重要级别的应用共用集群,要做好准入控制,避免一些低级别应用的问题影响到节点的状态,对同节点上的高级别应用产生影响
收起1、根据自己的业务需求,如果对业务隔离性、性能要求没那么高,可以所有业务在同一个k8s集群,不同namespace;
2、如果业务有强制隔离需求,如金融行业,不同分区强制物理隔离,那只能在不同的环境部署k8s集群;
3、如果业务仅对性能有不同需求,可以根据不同的业务属性,部署同一套k8s集群,只是work节点根据不同的硬件配置分区管理。
除去k8s的管理集群,剩下的节点一般都用来做业务集群,为不同的应用或系统分配不同的资源,绑定不同的名称空间,容器天生就是集群模式,又不是集群,只能说逻辑上集群,物理位置上相对打散,保持集群或者容器的高可用性
收起