DCOS雲平臺之業務多應用部署改造方案
1 雲平臺改造需求
由於上線活動系統平臺是將所有活動封裝在一套docker映象環境。因而存在活動更新與釋出應用會影響其它活動正常使用,每次上線新活動也需要測試人員對全部活動進行功能測試,增加了測試人員的工作量。活動在釋出的過程中需要重啟服務對其它活動使用也會存在一定的干擾,這樣會讓客戶對系統體驗效果感覺極差。
客戶需求提出:
1、 新上線活動釋出與調整不影響其它活動正常使用。
2、 多個活動之間效能無互相干擾。
3、 新上線的活動只需要測試新需求,測試不需要全面覆蓋功能。
4、 每個應用活動對應一個子域名,並能夠透過80埠來訪問。
5、 手機微信端要求使用80埠訪問活動。
由於當前雲平臺架構方案是無法滿足客戶提出來的以上5點要求,因而我們需要對當前雲平臺架構做出適當調整,已滿足客戶業務系統使用要求。
2 雲平臺改造目標
在雲平臺harpxoy負載上游前端加一套nginx keepalived高可用反向代理伺服器,使得所有活動入口都得透過nginx反向代理,然後子域名加80埠來訪問。下游每個活動單獨一個docker活動映象,然後透過雲平臺釋出活動。後續新增的活動需要人工在nginx配置檔案中加入新活動的反向代理配置,然後過載nginx配置。
3 應用部署流程
流程說明:
1、 開發提供上線程式碼給DCOS運維工程師。
2、 按生產配置修改上線程式碼中的配置。
3、 將上線程式碼按tag方式上傳到SVN或git程式碼伺服器。
4、 使用DCOS雲平臺自動化構建應用映象。
5、 使用DCOS雲平臺釋出應用映象或更新應用映象。
6、 新增活動需要在nginx伺服器加入反向代理部分配置,更新活動就不需要這步操作。
7、 新增活動過載nginx配置生效,更新活動不需要這步操作。
4 活動映象構建
注:方案省略如何去獲取開發上線程式碼與上傳SVN程式碼這兩個操作。
4.1 上線程式碼配置更新
1 .修改配置檔案:front/suites/config/config.php,請按實際生產地址修改。
1) 、變更操作:(修改URL 域名和Redis 地址) $config['sess_save_path'] = ' redis_ip:6379?auth=Redis@2017'; // 修改生產redis地址
// 將臨時域名huodong.youoil.cn 替換成 生產域名huodongzs.youoil.cn define('NOTIFY_URL', ' front/index.php/_activity/activity/notify'); define('RETURN_URL', ' front/index.php/_activity/activity/response');
2 )、變更REDIS 部分 $config['redis'] = [ 'host' => 'redis_ip', 'port' => '6379', 'auth' => 'Redis@2017', 'time_out' => 1, 'retry_interval' => 100, ]; |
2. 修改生產資料庫配置檔案 front/suites/config/database.php
變更操作:( 修改生產資料庫的IP 地址、資料庫名、賬號與密碼) 'hostname' => ' , 'username' => , 'password' => , 'database' => ' ' |
3. 修改程式碼front/suites/themes/default/js/activity.js檔案
// 修改成外網對映域名 var signUrl = options.isTest ? ' /front/index.php/_activity/activity/make_sign' : ''; var url = options.isTest ? ' /front/index.php/_activity/activity/entrance' : ''; |
4.2 應用映象準備
1、 定義資料卷
宿主機共享路徑 |
容器路徑 |
目錄用途 |
/sharefs/cecrm_acitivtycenter/frontcert |
/var/www/cecrm_acitivtycenter/uploads |
儲存前臺證照 |
/sharefs/cecrm_acitivtycenter/uploads |
/var/www/cecrm_acitivtycenter/cert |
存放後臺推送過來的活動靜態檔案 |
2、 前臺應用映象dockerfile
前提條件:
1) 需要準備一個安裝好nginx1.0+php-fpm7.0支援redis、gd、unzip等擴充套件包的基礎映象。
2) 準備好開發完成的應用程式碼
3) 準備好應用載入的配置檔案
4) 準備nginx配置檔案
5) 前臺應用dockerfile檔案(dockerfile檔案由開發商提供)
FROM xx.xx.xx.24/dcos_mgmt/nginx-phpfpm70:v1.0.3 ## 基礎映象 MAINTAINER jaymarco@shsnc.com ADD front /var/www/cecrm_acitivtycenter/front ## 程式碼檔案 ADD website.nginx.conf /etc/nginx/conf.d/website.nginx.conf ##nginx 配置檔案 ADD MP_verify_xhggISVWupuON4Z9.txt /var/www/cecrm_acitivtycenter/MP_verify_xhggISVWupuON4Z9.txt ## 微信驗證檔案 |
4.3 活動映象構建
首先開發商將活動平臺程式碼提交給中經匯通運維工程師,並將程式碼提交到中經SVN伺服器上面,然後運維同事按( 4.1 小節)變更配置檔案後將檔案更新SVN服務上。
1 登入DCOS平臺,進行“資源管理”—》“專案映象”,然後點選“新建”
2 、選擇系統對應的專案,並輸入映象名
3 、程式碼控制選擇 ”svn”
4 、輸入SVN地址,SVN賬號和密碼,然後選擇對應的SVN版本號
5 、選擇自定義構建SVN模板,輸入映象版本號,然後定義好構建映象流水線命令 。
6 、點選“開始構建”按鈕
5 雲平臺釋出活動
5.1 部署新增活動
地址: 活動平臺 /tags/front
賬號: activity_platform
密碼: act_plat_123456
1 、建立活動平臺應用: 活動平臺系統
2 、建立服務
1 )、設定伺服器名稱、容器資源分配和容器個數。
2 )、選擇服務的映象名和網路模式。
3 )、設定服務對映埠。
4 )、配置服務使用負載均衡
5 )、配置應用健康檢查
6 )、配置服務儲存卷
7 )、指定容器執行叢集
5.2 更新活動應用
這裡舉例更新一下活動平臺後臺應用映象
1 、選中“活動平臺後臺”服務,然後點“服務管理”按鈕
2 、然後選擇“容器設定”選項,找到部署版本找到需要更新的映象。最後點確定。
6 更新 NGINX 反向代理
這裡就不介紹如何去搭建一套nginx+keepalived 主從環境,主要介紹新增了活動如何來更新反向代理配置。
注:以下操作步驟只是針對新活動釋出,更新老活動不需要以下配置。
1、 檢視活動釋出後對應的埠
2、 將釋出後的新活動對映到nginx代理。
請在兩臺nginx伺服器增加反向程式碼配置
NGINX 伺服器(xx.xx.xx.37, xx.xx.xx.38)
請在兩臺nginx 配置檔案/etc/nginx/conf.d/website.nginx.conf 增加如下內容 #################################add proxy############################ upstream { ip_hash;
server xx.xx.xx.32:10013; }
server { listen 80; server_name ; location ~ ^/NginxStatus/ { stub_status on; access_log off; } location / { proxy_pass ; proxy_buffering off; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 50m; client_body_buffer_size 256k; proxy_connect_timeout 30; proxy_send_timeout 30; proxy_read_timeout 60; proxy_buffer_size 256k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; proxy_max_temp_file_size 128m; } } #################################end proxy############################ |
3、 過載 NGINX 配置
新增活動後在兩臺nginx 主機上面生效配置。
/usr/sbin/nginx –s reload
有需要的朋友可以關注我的公眾號,文章每日一更
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2723808/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DCOS雲平臺之應用容器化改造規範
- DCOS雲平臺之Marathon應用容器編排元件元件
- 【雲管平臺】多雲混合雲管理平臺用哪個好?
- 在 SAP 雲平臺上部署和執行 Docker 應用Docker
- LAMP平臺部署及應用(一)LAMP
- OpenStack雲平臺部署
- OpenStack——雲平臺部署
- 將SAP UI5應用部署在Heroku雲平臺裡UI
- 實用教程 | 雲原生安全平臺 NeuVector 部署
- 將SpringBoot應用Docker化並部署到SAP雲平臺Spring BootDocker
- 運維平臺之應用日誌解決方案--ELK運維應用日誌
- 網易雲音樂全面開源一款雲原生應用部署平臺:Horizon
- 揭秘貨拉拉大模型應用平臺的應用部署大模型
- 高可用Hadoop平臺-應用JAR部署HadoopJAR
- SAP雲平臺上部署應用時遇到disk quota不夠的問題
- 將Java應用部署到SAP雲平臺neo環境的兩種方式Java
- 使用Eclipse開發Java應用並部署到SAP雲平臺SCP上去EclipseJava
- LAMP平臺服務簡介、部署及應用LAMP
- 華為雲應用平臺AppStage運維中心,華為全球業務的加速器APP運維
- 深度解讀華為雲智慧企業雲應用平臺
- 用友雲平臺,真正的雲原生架構,加速雲應用落地架構
- SAP雲平臺部署應用時遇到的502 Updating service failed - Bad GatewayAIGateway
- Atlas是一個為雲原生應用程式構建的開源部署管道平臺
- 如何將SAP Multi Target應用部署到SAP雲平臺的Cloud Foundry環境去Cloud
- 雲平臺雲環境之要素
- 雲平臺設計系統,助力業務快速開發
- 微軟把UWP定位成業務線應用程式開發平臺微軟
- 教育行業SaaS應用管理平臺解決方案行業
- 通用網頁呼叫本地應用程式方案(windows平臺)網頁Windows
- 如何把SAP UI5應用部署到SAP雲平臺的Fiori Launchpad裡去UI
- 微信平臺應用
- 瓴犀建築建材行業SRM供應商雲協同管理平臺解決方案,實現業務應用可擴充套件可配置行業套件
- SUSE 為雲原生、容器化應用提供多模架構平臺,助力企業 IT 轉型架構
- EMQ 解決方案之雲平臺物聯網訊息佇列解決方案MQ佇列
- 跨境電商供應鏈平臺方案
- 立普威陸網站IPv6升級改造應用平臺完整開源!網站
- CentOS7.2+OpenStack+kvm 雲平臺部署--用OZ工具製作openstack映象CentOS
- 三大應用平臺