1.1 概述
本教程中,指导您将一个“部署在虚拟机上的ERP企业管理系统”进行容器化改造,部署到容器服务中。
本教程主要是容器化改造的方法论指导,不能实际部署。若需要实际部署容器服务,请参见云容器引擎快速入门。
在本教程的容器化改造中,您不需要改动任何代码和架构,仅需将整体应用构建为容器镜像,部署到华为云CCE云容器引擎中。
为什么需要使用容器
本例中应用原先使用虚机方式部署,在部署和升级时,遇到了一系列的问题,而容器化部署解决了这些问题。
通过使用容器,您可以轻松打包应用程序的代码、配置和依赖关系,将其变成易于使用的构建块,从而实现环境一致性、运营效率、开发人员工作效率和版本控制等诸多目标。容器可以帮助保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。
表1-1 虚机和容器部署对比
类别 | before:虚机部署 | after:容器部署 |
部署 | 部署成本高。
每给一家客户部署一套系统,就需要购置一台虚拟机。 | 成本降低50%以上。
通过容器服务实现了多租隔离,在同一台虚拟机上可以给多个企业部署系统。 |
升级 | 升级效率低。
版本升级时,需要逐台登录虚拟机手动配置升级,效率低且容易出错。 | 秒级升级。
通过更换镜像版本的方式,实现秒级升级。且CCE提供了滚动升级,使升级时业务不中断。 |
运维 | 运维成本高。
每给客户部署一套应用,就需要增加一台虚拟机的维护,随着客户量的增加,维护成本非常高。 | 自动化运维。
企业无需关注虚拟机的维护,只需要关注业务的开发。 |
应用简介
本例“企业管理应用”由某企业(简称A企业)开发,这款应用提供给不同的第三方企业客户,第三方客户仅需要使用应用,维护工作由A企业提供。
在第三方企业需要使用该应用时,需要在第三方企业内部部署一套“Tomcat应用和MongoDB数据库”,MySQL数据库由A企业提供,用于存储各第三方企业的数据。
图1-1 应用架构
如图1-1,该应用是标准的tomcat应用,后端对接了MongoDB和MySQL。这种类型应用可以先不做架构的拆分,将整体应用构建为一个镜像,将tomcat应用和mongoDB共同部署在一个镜像中。这样,当其他企业需要部署或升级应用时,可直接通过镜像来部署或升级。
l 对接mongoDB:用于用户文件存储。
l 对接MySQL:用于存储第三方企业数据,MySQL使用外部云数据库。
1.2 容器化改造流程
虚机应用容器化改造时,一般需要执行如下流程。
图1-2 容器化改造流程
镜像仓库、容器镜像、容器、容器应用的关系,请参见下图。
图1-2 镜像仓库、镜像、容器、应用关系图
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/309685.html