许多企业在使用容器云平台之前,都有自己的一套基于虚拟机的DevOps流水线平台,那么在使用容器云平台以后,如何在DevOps流水线平台上同时兼容基于容器和虚拟机的DevOps流程?
对于流水线过程来说,只是在部署环节的实现不同。也就是整条流水线的其中一个stage的实现不同,对流水线过程来说不一定存在差异。部署过程流水线提供的是发布到虚拟机和容器云平台的能力。
应用部署逻辑则是由项目团队提供playbook或yaml文件,设置环境信息:对于虚拟机来说是IP,对于容器来说是namespace。也就是平台提供两种部署方式的能力,项目团队只需要关注自己需要哪种部署方式,以及流水线在什么时间需要执行部署任务。在后续的建设中我们计划通过统一的发布平台来提供应用部署到虚拟机和容器云平台的支持,流水线基于统一的发布平台完成部署过程,进一步减小用户对两种部署方式差异的感知。
从环境兼容视角分析,需要考虑DevOps中哪些流程需要构建在容器云平台上,哪些流程需要落在虚拟机平台上,两种平台各有自身擅长的地方,应发挥其特长实现DevOps流程兼容。
两者的结合与兼容,需要判断devops各个环节所需要工作是否适用哪种环境,还需要考虑受限环境下如何采用最低成本投入方式来建设DevOps平台。