O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

时间:2024-05-23 22:11:55

一、镜像制作

1、将安装介质o2server-5.0.3-linux.zip上传至镜像制作服务器上。(上传目录为/paas/xxhpaas/moka/o2oa)

2、使用unzip命令解压安装包,参考命令:unzip o2server-5.0.3-linux.zip

3、制作DockerFile文件,文件内容如下:

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

Dockerfile说明

3.1、FROM为基础镜像名称,我这边拿了一个已经做好的tomcat的镜像,镜像中包括Tomcat、JDK、Linux操作系统

3.2、PAAS平台不允许使用root用户启动应用,所以我创建了一个新的用户 gx

3.3、将解压后的o2server拷贝到容器中(使用COPY命令),一开始尝试直接将安装包unzip到容器里面,试验了几次都报错后才使用的copy方式。

3.3、为新建的用户gx赋予o2server目录的管理权限,能够读、写、执行权限。

3.4、容器启动的时候将用户切换为 gx(1000为gx的用户编号,测试paas平台要求使用"user 用户编号"方式切换用户)

3.5、容器启动后的ENTRYPOINT为执行启动o2oa的脚本 start_linux.sh

4、镜像制作命令:docker build -t o2oa_1.0.0 .

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

5、镜像制作完毕后将镜像存储为tar包进行保存,保存命令:docker save o2oa_1.0.0 |gzip > o2oa_1.0.0.tar

6、检查镜像是否能够正常启动,使用docker run命令在打包设备上通过镜像创建容器。操作步骤如下

♦检查镜像名称,命令:docker images |grep o2oa  如下图

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

♦启动容器:docker run 镜像ID &  ,实际命令如下图:

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

♦检查容器是否启动,获取容器ID号。docker ps lgrep 镜像ID 实际命令如下图。能够看到容器已经能够正常启动。显示结果的第一列为容器ID

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

♦进入容器 命令:docker exec -it 容器号 /bin/bash ,实际命令如下:(能够看到控制台已经切换为gx用户)

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

♦检查o2oa的启动日志,查看应用启动是否正常

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

♦检查完毕后记得将容器销毁,参考命令:docker kill 容器ID

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

二、PAAS平台部署

1、将镜像文件(o2oa_1.0.0.tar)上传至PAAS平台的镜像仓库。使用PAAS平台提供的镜像资产上载工具(如下图)

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

2、创建三套7层负载,分别提供给center (端口:30112)、application(端口:30113)、web (端口:30110)应用使用。具体如下:

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

3、在PAAS平台上创建应用,关键配置信息如下:

3.1 、CPU和内存需要选择得当,测试环境我使用了2C 6G内存,容器的镜像使用之前上传的o2oa_1.0.1版本

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

3.2、挂载配置文件node_127.0.0.1.json、externalDataSources.json (将基础服务器配置文件和数据库文件放入PAAS平台管理。在容器启动后,应用启动前PAAS平台会将配置文件写入/data/o2oaserver/config目录下)

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

node_127.0.0.1.json  配置文件修改内容:将center端口设置为30112、将application端口设置为 30113、将web端口修改为30110

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

externalDataSources.json 配置文件内容为oracle相关数据库地址、端口、实例、用户名和口令配置

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

3.3、将康检查设置,目前设置的是主机命令检查,由于o2oa启动需要时间,后续可以根据启动时间设置首次检查延迟时间,并将主机命令检查调整为http检查。

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

3.4、应用与7层负载关联配置, o2oa的3个http服务对应3个7层负载,上下文转发规则为 “/” 。配置界面如下

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

3.5、应用能够正常启动,访问效果如下。目测相关网络请求无报错信息。

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

三、共享存储处理

1、dockerfile修改,在容器中创建共享存储的根目录/appdata,并赋予管理权限。

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

2、容器编排阶段挂载externalStorageSources.json配置文件,配置文件写入/data/o2server/config目录下。

配置文件内容样例如下,需要将个JSON对象的节点中的"protocol"设置为file、将“prefix” 设置为具体共享存储的目录地址。

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

3、在容器编排阶段,增加/appdata的共享存储挂载。

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

四、关于容器节点自动扩展的问题

目前咨询产品组,容器化的部署可以不去定制修改node_ip.json,统一使用node_127.0.0.1.json即可。在PAAS平台上设置POD数量即可,如下图:

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

设置后2个POD能够正常启动,如下图:

O2OA开源免费办公平台:在PAAS平台上部署O2OA开发平台

具体系统使用有无问题还需要详细的测试。:)

(转自公众号:浙江兰德网络)