O2OA開源免費辦公平臺:在PAAS平臺上部署O2OA開發平臺

一、鏡像製作

1、將安裝介質o2server-5.0.3-linux.zip上傳至鏡像製作服務器上。(上傳目錄爲/paas/xxhpaas/moka/o2oa)

2、使用unzip命令解壓安裝包,參考命令:unzip o2server-5.0.3-linux.zip

3、製作DockerFile文件,文件內容如下:

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 .

5、鏡像製作完畢後將鏡像存儲爲tar包進行保存,保存命令:docker save o2oa_1.0.0 |gzip > o2oa_1.0.0.tar

6、檢查鏡像是否能夠正常啓動,使用docker run命令在打包設備上通過鏡像創建容器。操作步驟如下

♦檢查鏡像名稱,命令:docker images |grep o2oa  如下圖

♦啓動容器:docker run 鏡像ID &  ,實際命令如下圖:

♦檢查容器是否啓動,獲取容器ID號。docker ps lgrep 鏡像ID 實際命令如下圖。能夠看到容器已經能夠正常啓動。顯示結果的第一列爲容器ID

♦進入容器 命令:docker exec -it 容器號 /bin/bash ,實際命令如下:(能夠看到控制檯已經切換爲gx用戶)

♦檢查o2oa的啓動日誌,查看應用啓動是否正常

♦檢查完畢後記得將容器銷燬,參考命令:docker kill 容器ID

二、PAAS平臺部署

1、將鏡像文件(o2oa_1.0.0.tar)上傳至PAAS平臺的鏡像倉庫。使用PAAS平臺提供的鏡像資產上載工具(如下圖)

2、創建三套7層負載,分別提供給center (端口:30112)、application(端口:30113)、web (端口:30110)應用使用。具體如下:

3、在PAAS平臺上創建應用,關鍵配置信息如下:

3.1 、CPU和內存需要選擇得當,測試環境我使用了2C 6G內存,容器的鏡像使用之前上傳的o2oa_1.0.1版本

3.2、掛載配置文件node_127.0.0.1.json、externalDataSources.json (將基礎服務器配置文件和數據庫文件放入PAAS平臺管理。在容器啓動後,應用啓動前PAAS平臺會將配置文件寫入/data/o2oaserver/config目錄下)

node_127.0.0.1.json  配置文件修改內容:將center端口設置爲30112、將application端口設置爲 30113、將web端口修改爲30110

externalDataSources.json 配置文件內容爲oracle相關數據庫地址、端口、實例、用戶名和口令配置

3.3、將康檢查設置,目前設置的是主機命令檢查,由於o2oa啓動需要時間,後續可以根據啓動時間設置首次檢查延遲時間,並將主機命令檢查調整爲http檢查。

3.4、應用與7層負載關聯配置, o2oa的3個http服務對應3個7層負載,上下文轉發規則爲 「/」 。配置界面如下

3.5、應用能夠正常啓動,訪問效果如下。目測相關網絡請求無報錯信息。

三、共享存儲處理

1、dockerfile修改,在容器中創建共享存儲的根目錄/appdata,並賦予管理權限。

2、容器編排階段掛載externalStorageSources.json配置文件,配置文件寫入/data/o2server/config目錄下。

配置文件內容樣例如下,需要將個JSON對象的節點中的"protocol"設置爲file、將「prefix」 設置爲具體共享存儲的目錄地址。

3、在容器編排階段,增加/appdata的共享存儲掛載。

四、關於容器節點自動擴展的問題

目前諮詢產品組,容器化的部署可以不去定製修改node_ip.json,統一使用node_127.0.0.1.json即可。在PAAS平臺上設置POD數量即可,如下圖:

設置後2個POD能夠正常啓動,如下圖:

具體系統使用有無問題還需要詳細的測試。:)

(轉自公衆號:浙江蘭德網絡)