360容器云独享集群新功能介绍

对于独享集群不熟悉的朋友,可以先看一下这篇文章:容器云之独享集群介绍

智汇云容器平台,独享集群功能已满足大部分业务的使用,如何发在公有云、toB场景上发挥更大价值呢?

下面为大家介绍容器云平台k8s-on-k8s公有云落地实践经验。

一、新功能:toB &SaaS独享集群上线


1.整体SaaS的的流程图

9c11d6d3fa5b8fdc35271d81cd34125e.png

整体的SaaS流程,和司内的流程是差不多一样的,都是对master组件再另外一个集群进行托管,最主要是在base集群的选择上,司内是使用rancher搭建一套集群,而司外的,为了节约资源,我们使用一套独享集群去作为base集群,这样减少了每个地域创建base集群的重复工作,减少运维成本

相比于公司内的模式,公有云、tob的独享集群的第一点不同的情况是base集群的不同

  • 司内:rancher搭建一个集群,当作base集群

  • tob&Saas:公司内的独享集群当作base集群

2.master架构的不同

这是初版司内独享集群的架构图,主要是有以下几点:

2ae8475ddfcc50637b8249bf4536e10c.png

  • 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)

最终方案架构图如下:

a07736a495f4eb18ceda950dd771882b.png

做出来以下改变:

  • 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.混部的机器初步水位图

e6258b6f0bebaf1f439f10901776a0b3.png

我们可以发现以上在es使用量不变的情况下,节点由于规格的不同,会使容器的使用量并不是很均匀,资源预留方面小节点会有很多资源浪费,故提出用户根据节点资源大小,自动去调整节点资源预留等资源

故提出了node自定义的方案,由于rancher和独享集群的kubelet和kube-proxy参数都是每个节点统一,故提出了node自定义的这一高级功能。

3.改造后的架构图

01ec6a1ab7e824b9668bcdf36b3f69c4.png

可以发现小节点上我们容器上多了6c和32g内存去使用,我们利用的一种crd资源nodetemplate,用户可根据node节点大小去实现各种参数的修改,实现资源利用最大化

4.容器云&公有云适配

目前容器云和公有云已经上线了独享集群node自定义的功能,不光可以修改资源预留,还可以根据不同机器的磁盘分区去实现数据存到不同的磁盘当中,例如dba的节点需要纳管成k8s的node做混部,es和mysql使用的盘符目录不一致(es为/aaa,mysql为/bbb),我们可以通过修改rootdir的方式,去实现容器自身资源存储,emptydir等落在不同盘内

31738a2cc55a0751d41886b70d0a0ec8.png

总结:

自定义节点预留core混部方案落地,使部分业务托管机器节点的可使用部分增加10%左右,最大程度上节约机器资源,在独享集群上也是一项高级功能。


推荐阅读:

WebRTC Simulcast 大小流介绍与优化实践

360AI平台Kubernetes Informer和Webhook的结合浅谈

更多技术和产品文章,请关注👆

如果您对哪个产品感兴趣,欢迎留言给我们,我们会定向邀文~

360智汇云是以"汇聚数据价值,助力智能未来"为目标的企业应用开放服务平台,融合360丰富的产品、技术力量,为客户提供平台服务。
目前,智汇云提供数据库、中间件、存储、大数据、人工智能、计算、网络、视联物联与通信等多种产品服务以及一站式解决方案,助力客户降本增效,累计服务业务1000+。
智汇云致力于为各行各业的业务及应用提供强有力的产品、技术服务,帮助企业和业务实现更大的商业价值。
官网:https://zyun.360.cn 或搜索“360智汇云”
客服电话:4000052360
欢迎使用我们的产品!😊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值