OA系统的容器化开发
一、实验内容
使用华为云提供的云服务,完成在鲲鹏平台上部署企业自动化办公(Office Automation,简称OA)系统,同时掌握如何将本地自建的MySQL数据库迁移到云数据库GaussDB,以及如何在鲲鹏平台上部署应用的高可靠。之后,通过一个开源的OA系统实例,实现OA系统在华为云鲲鹏云服务器上的部署,并通过华为云容器引擎CCE部署OA系统,使得应用快速部署至华为云鲲鹏平台。具体包括以下几个方面的实践内容:
(1)掌握华为云鲲鹏云服务的操作方法;
(2)掌握自建数据库迁移到云数据库GaussDB的原理、流程和操作方法;
(3)完成鲲鹏云平台应用的高可靠部署;
(4)完成GaussDB云数据库的配置与使用;
(5)使用SWR构建OA系统服务。
二、实验原理与参数
2.1 组网环境
2.1.1 实验组网示意图
图2-1 OA部署组网环境
2.1.2 理解与分析
云计算的一个重要环节就是网络连接,否则本地将无法操作远程的计算资源。如图2-1所示,在华为云的组网中,用户通过虚拟私有云访问相应实例ecs-oa,该主机和云上自建的数据库主机ecs-mysql相连,从而完成一整套办公系统的自动化运行。
2.2 远程连接手段
图2-2 云主机的远程操控
本次实验使用远程连接工具对ECS主机进行访问与操作。使用的工具包括PuTTY、Xshell等,均用到了SSH协议:如图2-2所示。SSH是一种加密的网络传输协议,可在不安全的网络中网络服务提供安全的传输环境,通过在网络中创建安全隧道来实现 SSH 客户端和服务器之间的连接。
2.3 ECS实验环境参数
2.3.1 CPU/GPU型号与参数
表2-1 CPU参数
属性 | 型号 | 核心数 | 架构 | 规格名称 | BogoMIPS |
---|---|---|---|---|---|
参数 | Huawei Kunpeng 920 2.6GHz | 2 | 鲲鹏计算 | kc1.large.2 200.00 |
表2-2 GPU参数
属性 | 设备编码 | 规格 |
---|---|---|
参数 | 02:03.0 | Virtio GPU(rev 01) |
2.3.2 内存容量与带宽
表2-3 主存参数
属性 | 内存容量 | 基准/最大带宽 | 可用空间 |
---|---|---|---|
参数 | 4 GiB | 0.8/3 Gb/s | 2471190 kB |
2.3.3 互联网络参数
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.14 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::f816:3eff:fe12:6a78 prefixlen 64 scopeid 0x20<link>
ether fa:16:3e:12:6a:78 txqueuelen 1000 (Ethernet)
RX packets 24481 bytes 36216491 (34.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2588 bytes 207445 (202.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
三、鲲鹏部署OA系统
3.1 应用部署
3.1.1 购买华为云ECS云服务器
首先根据要求,从华为云官网上配置ECS弹性云服务器资源。配置成功界面如下图3-1所示:
图3-1 ECS资源的云上配置
3.1.2 安装JDK
使用Xshell 7,根据ECS主机的IP地址创立和本机的SSH远程连接。然后使用yum install安装Java 1.8 JDK,成功界面如图3-2所示:
图3-2 安装JDK
3.1.3 安Maven
首先创建Maven安装目录,切换进去以后使用wget获取安装包。使用tar解压后,编辑profile环境配置文件。然后使用source将配置生效后,校验是否成功安装。成功界面如下所示:
图3-3 安装Maven
3.1.4 Maven更换下载源与项目复制
使用vim工具,在Maven安装配置文件中添加新的基于华为云的镜像下载源地址,这样能避免安装超时。添加内容如图3-4所示:
图3-4 修改配置文件
3.1.5 Git项目复制
在配置修改完成之后,安装git工具,然后使用git clone将项目源码下载到本地。下载成功界面如图3-5所示:
图3-5 git项目复制
3.1.6 GaussDB for MySQL连接
再次使用vim工具,修改application.properties文件,修改url、username和password为ecs-mysql的内网地址、mysql的登录用户名和密码,保存文件退出。
四、鲲鹏平台云数据库部署
4.1 部署云数据库GaussDB
从云数据库服务中配置并完成购买。部署成功界面如图4-1所示:
图4-1 华为云数据库的配置
4.2 数据导入
4.2.1 导入数据到gauss-oa
登录数据库服务器,然后选择从外部导入数据,执行给出的oasys.sql代码文件。等待SQL语句执行完成后的界面如图4-2所示。可以看到oasys中全部数据表项已经创建完成,执行记录也已经导入成功。
图4-2 数据的导入
4.2.2 编译安装系统
1.首先,使用vim修改配置文件,使得OA系统的数据库能够正常访问;
2.安装Maven。执行以下mvn install命令,进入项目目录,使用Maven本地安装,如图4-3所示可见创建成功:
图4-3 安装OA系统
3.启动oasys.jar应用,在终端界面可以看到启动成功的日志:
图4-4 启动OA应用
4.通过ECS弹性公网地址123.249.5.155:8088访问OA系统登录页,使用用户名“soli”和密码“123456”登录OA系统主界面,如图4-5所示:
图4-5 登录OA系统
五、鲲鹏平台OA系统容器化部署
5.1 通过Dockerfile构建OA系统镜像
5.1.1 构建OA系统镜像
1.首先参照实验1的步骤为ecs-oa安装Docker(在此之前需要安装Docker依赖工具)。之后使用vim工具创建Dockerfile然后编辑。完成后Dockerfile文件中的内容如下:
图5-1 修改Dockerfile
2.之后配置镜像加速器,通过tee修改daemon配置文件“daemon.json”来使用加速器。通过Dockerfile创建OA系统镜像,构建成功界面如图5-2:
图5-2 构建镜像oa-kunpeng
3.使用docker images指令可以看到新建的镜像文件如下图所示:
图5-3 查看新构建的oa-kunpeng
5.1.2 镜像的SWR上传
1.按照实验指导书的要求,在华为云网站的容器镜像服务SWR上新建cloud-tju,然后通过docker临时登陆指令在ecs-mysql远程登陆,如图5-4所示:
图5-4 docker的远程登陆
2.对镜像打标签,然后docker push上传上一步构建的私有镜像。上传成功的日志输出如图5-5所示:
图5-5 oa-kunpeng镜像的上传
在我的镜像界面可以看到新增了已经上传的oa-kunpeng镜像文件如图所示:
图5-6 私有镜像文件列表
5.2 CCE鲲鹏集群的构建
1.按照实验指导书的要求,在CCE服务界面购买实验所需的集群。任务提交、创建成功后在集群列表可以看到新建的集群如图5-7所示:
图5-7 新建集群oa-kunpeng
2.构建弹性负载均衡服务ELB。按照实验指导书的要求,在服务界面购买实验所需的负载均衡服务。创建成功后在列表可以看到新建的ELB如图所示:
图5-8 新建ELB oa-kunpeng
3.在集群oa-kunpeng里创建一个可用集群节点,如图5-9所示:
图5-9 新建CCE节点
5.3 CCE部署OA系统
1.在CCE集群oa-kunpeng创建工作负载,构建成功界面可以看到新增的访问方式如图5-10所示:
图5-10 新建工作负载访问方式
2.通过负载均衡弹性公网IP(121.36.5.21)加8088端口访问OA系统登录页,使用用户名“soli”和密码“123456”登录进入OA系统主界面,如下图所示:
图5-11 弹性负载均衡+SWR镜像访问OA系统
此外,对于该系统的具体功能(如:讨论区),也进行了测试。如下图所示,可见数据库已经完整的导入OA系统中,且镜像功能上传是无损的。
图5-12 OA系统讨论区
六、实验拓展与展望
6.1 对OA系统的理解
6.1.1 OA系统概述
OA(Office Automation)是一种办公自动化的工具,它可以通过网络和OA软件构建单位内部的办公平台,从而辅助办公工作。OA系统是一种组织行为管理软件,它可以协同管理单位内部的各个部门和人员,从而提高工作效率。OA系统包括沟通协作、信息共享、文档管理和工作流程等多种功能,可以实现多人、多部门、跨地域的协同办公模式。
OA系统的使用门槛非常低,通过OA办公系统实现多人、多部门、跨地域的协同办公模式,使日常许多通过手工完成的事情被计算机和网络提供的功能所代替。
图6-1 一个OA系统的应用实例
6.1.2 OA系统与云计算
OA系统和云计算是密切相关的。云计算是一种基于互联网的计算方式,它通过网络为用户提供计算资源和服务,包括存储、处理、分析等。而OA系统则是通过网络和软件构建一个单位内部的办公平台,实现办公自动化和信息化。因此,大多OA系统基于云计算平台来实现,从而实现更高效、更安全、更灵活的办公方式。通过使用华为云等平台,OA系统可以实现资源共享、灵活扩展、弹性计算等功能,从而更好地满足单位内部的办公需求。同时,云计算还可以提高OA系统的可靠性和安全性,保障办公数据的安全和可靠性。
6.2 对Docker容器的理解
6.2.1 Docker的概念和运行原理
Docker是一个用于应用程序级虚拟化的系统。虽然不同的Docker容器可以共享一个kernel,但它们通常很少共享其他内容:文件、进程等都可以单独使用。它通常用于测试软件系统和在生产中运行它们。
Docker有这样几个概念:dockerfile,image,container,可以把image镜像理解为可执行程序,container是运行起来的进程。如果说写程序需要源代码,那么创建image就需要dockerfile,创建程序通过执行dockerfile里的指令创建对应容器。因此我们只需要在dockerfile中指定配置和依赖,之后将其交给docker进行docker build编译,生成的image就可以通过docker run运行了,image运行起来后就是docker container,如图6-2所示。
图6-2 Docker工作流程
6.2.2 Docker与云计算
随着云计算的广泛应用以及开发和运营团队高效协作的需要,Dcoker的使用越来越突出,其中Docker作为容器技术的一个广受欢迎的例子,已经成为了软件开发中的标准,并在改变完全堆栈虚拟化的范式方面发挥了重要作用。Docker对于云计算而言十分重要,原因在于Docker 容器允许开发人员将他们的应用程序与所需的依赖项(例如配置、框架、库和运行时)打包到其中,由此提供了一个把应用程序拆分为分布式组件的方法,并且用户还可以管理、升级这些容器成为集群。
6.3 对Gauss DB以及云数据库的理解
6.3.1 云计算与数据库
数据库和云计算有密切的关系。云计算提供了强大的计算和存储资源,使得数据库可以实现分布式、高可用、高性能等特点。同时,数据库也是云计算的重要应用之一,为云计算平台提供了数据存储和管理的基础支持。具体来说,云计算平台可以为数据库提供以下支持:
(1)弹性扩展:云计算平台可以根据业务需求自动调整数据库的容量和性能,实现弹性扩展。
(2)多副本和备份:云计算平台可以为数据库提供多副本和备份,实现数据的高可用和灾备。
(3)安全和隔离:云计算平台可以为数据库提供安全的网络隔离和访问控制,保障数据的安全性。
(4)数据治理:云计算平台可以为数据库提供数据治理和数据安全的功能,实现数据的合规性和质量控制。
6.3.2 华为云Gauss DB
GaussDB是华为云推出的一款关系型数据库管理系统,支持分布式、高可用、高性能的特点。它可以应用于各种场景,包括企业核心业务、大数据、物联网等等。GaussDB支持多个数据库引擎,,可以满足不同的业务需求。此外,GaussDB还支持自动容灾、自动备份、自动修复等功能,提供了安全可靠的数据保障。
相比于传统的MySQL数据库,GaussDB有以下优势和劣势:
1.优势:
(1)支持分布式架构,可以实现数据的高可用和水平扩展。
(2)支持海量数据处理,可以满足大规模数据的存储和分析需求。
(3)支持OLAP引擎,可以实现复杂的数据分析和处理。
(4)支持多种数据类型,包括空间数据和时间序列数据等。
(5)支持自动容灾、自动备份、自动修复等功能,提供了安全可靠的数据保障。
2.劣势:
(1)相对于MySQL,GaussDB的学习成本较高,需要掌握更多的技术知识。
(2)相比于MySQL,GaussDB的性能较低,需要更高的硬件资源和更复杂的配置。
(3)相比于MySQL,GaussDB的生态系统较为薄弱,缺乏相关的工具和应用。
- 点赞
- 收藏
- 关注作者
评论(0)