专家观察 | 张鑫:“从Kubernetes到谷歌容器管理的落地与演化”
《专家观察 | 张鑫:“从Kubernetes到谷歌容器管理的落地与演化”》要点: 由工业和信息化部指导,中国信息通信研究院主办,业界知名组织云计算开源产业联盟(OSCAR)承办的2017全球云计算开源大会于4月19日-20日在北京国家会议中心顺利召开.本文为本届大会嘉宾分享的大会演讲速记内容,敬请浏览. 嘉宾介绍:张鑫 公司职务:才云CEO 大会演讲速记 大家好,我叫张鑫,来自才云科技.我们创始团队从卡耐基梅隆大学一直到谷歌,谷歌其实从2001年就开始使用容器. 我当时和我们CTO在集群管理的团队,通过容器集群这样一个系统,去管理当时80多个数据中心,超过一百万台服务器的体量. 这个调研数据是美国做容器监控公司针对目前容器常用的编排工具做的一个使用调研. 我们看到为什么今天这么多的Kubernetes的演讲,也是有它的必然原因在这里面.从传统IAAS到PAAS层划分,我们看到基于底层的硬件软件水电煤的服务,Kubernetes提供了对于微服务、业务等进行支持的一整套功能点. 今天跟大家分享三块内容,第一块就是Kubernetes跟谷歌内部管理有什么不同.第二块Kubernetes作为面对现代微服务框架在传统行业怎么落地.第三块我们一直说容器更多支持无状态的应用,这块非常不直观的,容器其实也可以很好支持数据的应用. 第一个模块当时是在谷歌做集群管理系统整个的生态.其中黄色的是berg,这是Kubernetes的前身,对其进行管理.真的在集群管理体系里面,其实集群管理远远大于容器管理. 除了要管理容器以外,我们还有很多怎么样做机器层面管理,怎么做安全方面的把控?怎么保证我业务系统的SIA,有很多技术模块在我们容器之外的,首先容器管理不等同于集群管理的. 这里举一个具体例子,以当时在谷歌上线一个新业务系统为例,当我们硬件从QA投入我这个业务系统以后,在集成管理内部有点像CNDB,有一个机器的数据库,不光存放我硬件信息,还存放我机器未来承载什么任务,装一些mysql节点还是存储节点. 我存到数据库在集群还有一个非常重要的组件,就是工作流管理,工作流管理每隔15分钟察看这个数据库是不是有新表象参加,当有新信息来了,根据表现记录我这个机器装什么软件,触发其他模块API调用,对这个机器进行反映. Kubernetes对上层应用进行生命周期生老病死的管理,我们大型系统里面也会出现很多问题,这些问题谁管理,我们有一个节点医生的模块. 每个有全局节点医生的设置,这两个系统负责管理机器或者硬件层面的问题,当发现问题以后,把这个问题不是直接修复,还是把一个问题添加到机器数据库里,这时候工作流管理系统每15分钟去看这个数据库,当发现新问题以后会触发修复的流程. 当时做到了60%所谓硬件的故障,都是通过这种软件的方法修复,这个可能不是那么直观,觉得硬件坏了就坏了,怎么可能软件修复,发现硬件故障表彰由驱动层面软得原因造成的,当体量达到百万服务器以后,当我们60%的情况都不需要人工的时候就是巨大效率的提升. 开发者这端我提一下,我们所有应用在berg,什么东西量大以后变成大问题,当我这么大的代码量,我怎么短时间完成测试,当时用了一套系统,这套系统首先自动识别出我们每一个可能触发哪些测试级,其他大量的测试级无关,我就不会测试,同时测试的borgcli本身也运行在berg平台上,从开发端到整个管理的全貌.容器管理在整个管理体系里面是其中一环,并不是全部.这些东西都是谷歌内部所有的,作为我们外部企业怎么尽量补全这样一些功能,今天PPT我提一些小工具. 第一个我们镜像仓库的管理,作为容器来讲,我首先第一个要有镜像仓库,镜像仓库由中国研究院主打一个非常好的项目叫做Harbor,可以支持多个镜像之间复制,去做审计与健全这样的工作. 我们才云自己对它进行了功能上的扩充,包括对镜像进行安全扫描,实时的扫描镜像中的漏洞,包括对镜像可以添加标签,去实现更灵活的管理,以及支持多种的存储方案,这些都是我们做的工作. 提到发布,我们发布一直说做CICD,大家有一个体会,我们把一个传统应用切割成微服务架构以后,其实发布反而一定程度上更复杂. (编辑:ASP站长网) |