对于独享集群不熟悉的朋友,可以先看一下这篇文章:容器云之独享集群介绍
智汇云容器平台,独享集群功能已满足大部分业务的使用,如何发在公有云、toB场景上发挥更大价值呢?
下面为大家介绍容器云平台k8s-on-k8s公有云落地实践经验。
一、新功能:toB &SaaS独享集群上线
1.整体SaaS的的流程图
整体的SaaS流程,和司内的流程是差不多一样的,都是对master组件再另外一个集群进行托管,最主要是在base集群的选择上,司内是使用rancher搭建一套集群,而司外的,为了节约资源,我们使用一套独享集群去作为base集群,这样减少了每个地域创建base集群的重复工作,减少运维成本
相比于公司内的模式,公有云、tob的独享集群的第一点不同的情况是base集群的不同
司内:rancher搭建一个集群,当作base集群
tob&Saas:公司内的独享集群当作base集群
2.master架构的不同
这是初版司内独享集群的架构图,主要是有以下几点:
konk controller负责创建master组件、证书等一系列资源
网络沿用公司内的BGP网络以及vpc网络
master三个容器之间使用127.0.0.1互相通信
在落地Saas或者Tob环境当中,我们发现了私有vpc网络和公司内服务通信问题,主要有以下几个问题
k8s Webhook需要双向通信,webhook的pod和apiserver的pod需要双向通信
私有网络需要访问公司内的大部分资源(harbor、base master vip)等
探针问题失效,司内全为BGP或者vpc的非隔离网络,公有云则为宿主机是非隔离网络,容器是隔离网络(探针的原理就是kubelet通过宿主机网络执行curl或者telnet $pod_ip:port)
最终方案架构图如下:
做出来以下改变:
apiserver的pod使用172的vpc私有网络,用于和webhook的pod以及node节点双向通信;
etcd使用11的司内通用vpc网络,apiserver通过ipvs的SNAT使用宿主机网络去访问etcd;
由cni-agent去实现对探针的拦截,实现能够对apiserver的容器状态实施监测;
3.小结
saas&tob的独享集群落地,并通过与司内的vpc-cni、polefs、arkit、负载均衡结合,使独享集群在公有云和tob方向上成为核心卖点。
二、独享集群自定义节点配置
在公有云&司内场景下,用户场景不一,尤其是一些用户有托管机器的需求,在托管机器层面,我们发现很多业务有很大程度上的机器资源浪费,故提出了一个节点自定义节点配置的需求。
在传统的systemd形式启动的kubelet和kube-proxy时,我们可以随意在宿主机上修改进程的参数,但是kubelet和kube-proxy容器化后,在rke、rancher上都没有自定义配置的功能。
1.需求
部分敏感业务有大量DBA的私有自建集群,这些机器的cpu,内存使用率都不高,但是由于非容器化部署,并且金融有大量在线容器业务的需求,使用司内在离线混部方案可以满足金融的需求,但是在使用过程中会发现有大量的资源浪费,具体分析如下
2.混部的机器初步水位图
我们可以发现以上在es使用量不变的情况下,节点由于规格的不同,会使容器的使用量并不是很均匀,资源预留方面小节点会有很多资源浪费,故提出用户根据节点资源大小,自动去调整节点资源预留等资源
故提出了node自定义的方案,由于rancher和独享集群的kubelet和kube-proxy参数都是每个节点统一,故提出了node自定义的这一高级功能。
3.改造后的架构图
可以发现小节点上我们容器上多了6c和32g内存去使用,我们利用的一种crd资源nodetemplate,用户可根据node节点大小去实现各种参数的修改,实现资源利用最大化
4.容器云&公有云适配
目前容器云和公有云已经上线了独享集群node自定义的功能,不光可以修改资源预留,还可以根据不同机器的磁盘分区去实现数据存到不同的磁盘当中,例如dba的节点需要纳管成k8s的node做混部,es和mysql使用的盘符目录不一致(es为/aaa,mysql为/bbb),我们可以通过修改rootdir的方式,去实现容器自身资源存储,emptydir等落在不同盘内
总结:
自定义节点预留core混部方案落地,使部分业务托管机器节点的可使用部分增加10%左右,最大程度上节约机器资源,在独享集群上也是一项高级功能。
推荐阅读:
360AI平台Kubernetes Informer和Webhook的结合浅谈
更多技术和产品文章,请关注👆
如果您对哪个产品感兴趣,欢迎留言给我们,我们会定向邀文~
360智汇云是以"汇聚数据价值,助力智能未来"为目标的企业应用开放服务平台,融合360丰富的产品、技术力量,为客户提供平台服务。
目前,智汇云提供数据库、中间件、存储、大数据、人工智能、计算、网络、视联物联与通信等多种产品服务以及一站式解决方案,助力客户降本增效,累计服务业务1000+。
智汇云致力于为各行各业的业务及应用提供强有力的产品、技术服务,帮助企业和业务实现更大的商业价值。
官网:https://zyun.360.cn 或搜索“360智汇云”
客服电话:4000052360
欢迎使用我们的产品!😊