楊洪嬌
(天津外國語大學,天津 300204)
基于Docker的高校網站自動部署應用
楊洪嬌
(天津外國語大學,天津 300204)
高校網站數量日益增多,如何針對高校網站設計資源利用率高、運行維護方便的網站部署管理方案成為研究的方向。文章利用Docker虛擬化平臺,針對高校網站運行環境相對統一的特點,設計實現了基于Docker的自動部署應用,實現網站自動發布部署。實際應用測試表明,自動部署應用不僅提高了網站部署維護效率,而且進一步提升數據中心資源利用率。
Docker;高校網站;自動部署
隨著高校信息化建設的不斷深入,高校各業務部門的信息化項目不斷增多,數據中心所承載的網站及信息系統應用數量急劇增加,大量網站應用和信息系統部署運維呈現以下特點及問題。
(1)傳統虛擬化平臺資源利用率不高。高校網站類應用中,宣傳展示類網站占比高,運行負載相對較小。雖然傳統虛擬化手段已較大提高資源利用效率,但仍需為每個網站應用部署虛擬機。
(2)托管網站運行環境相對統一。高校業務部門網站應用運行環境大都集中在使用Tomcat+Mysql運行環境、Apache+Mysql運行環境、IIS運行環境等平臺上。尤其對宣傳類網站,其開發方式及運行環境相對統一,重復部署運行平臺同樣降低網站部署和運維的效率。
(3)網站應用需要快速部署和遷移。大量網站運行除了需要快速部署完成上線外,還需要實現運維管理、監控等功能高效執行,保證故障遷移等過程中的服務高可用性。
基于上述網站應用的特點及問題,本文提出了在Docker虛擬化平臺上實現應用自動部署的解決方案。利用虛擬化工具、自動化腳本等技術針對不同的部署方案實現網站應用的快速自動化部署。
2.1 Docker虛擬化平臺
Docker利用容器技術實現高效的應用運行平臺。與虛擬機不同的是,運行的容器并不綁定整個操作系統,它僅把需要的運行庫及配置打包成容器獨立運行,并能保證在任何Docker平臺上都穩定運行。Docker鏡像保存著容器運行所需的運行環境及配置信息,鏡像來自于倉庫,并且采用分層存儲的文件系統,提高復用性。
高校網站自動部署工具主要利用Docker平臺的運維解決方案,利用容器技術快速建立網站應用的獨立運行環境并部署。
2.2 Rancher Docker管理系統
Rancher是Docker的一個管理系統,使得Docker平臺更方便地實現集群化管理、應用監控等功能,適應生產環境的需要。
要將Docker平臺引入生產環境,需要考慮Docker的集群部署與管理、安全技術、與容器技術相關的網絡管理等組件。Rancher正是集成了相關技術的一整套Docker管理系統,利用Rancher內置的基礎設施服務,可將Docker部署于虛擬主機或云平臺等系統上,并支持基于Kubernetes等技術的集群管理技術。同時,Rancher系統提供了基于Environment,Stack,Service等概念的容器部署管理平臺。Environment作為區分不用應用場景的平臺,包含多個Stack,同一個Stack下有多個Service,可分別負責網站前端、數據庫服務等功能,對同一個Service,可以是一個或多個運行的Docker容器,并可部署在多臺由Rancher管理的主機上。
Rancher提供了良好的可視化管理界面,對Docker集群和服務進行集中管理和控制,同時,Rancher也提供了Rancher CLI管理環境,可以根據實際生產業務需要進行Rancher的自定義開發。
2.3 Compose文件
Compose文件是一個YAML格式的文件,用于定義容器的服務、網絡以及卷等信息。相比利用Docker命令方式傳遞服務配置,Compose文件更利于管理容器配置,與Docker命令配合更可應用于特定業務場景,實現自定義的容器管理。Compose文件所定義的主要配置包括服務使用的鏡像、對外開放的端口、掛載的外部存儲等信息。
在高校數據中心管理過程中,傳統的網站應用發布過程往往需要在建立好虛擬化環境后手動進行網站服務的發布和服務配置工作。Docker服務的部署通過鏡像倉庫中的鏡像實現。
借助于Docker平臺的快速部署及鏡像定制功能,采用自動化的腳本,針對不同的環境開發自動化部署工具,發布網站應用僅需提供發布內容及配置文件即可自動化部署。自動部署應用主要由部署信息管理、自動部署管理端以及自動化部署程序組成。
3.1 自動部署配置管理模塊
自動部署應用根據校園網網站的特點,針對不同運行環境抽象出相應的配置項目,使用時僅對相應配置進行設置并提供部署文件即可快速部署。如用戶發布基于Tomcat運行環境的應用,在自動部署時選擇Tomcat版本及JDK環境,并提供網站應用的名稱、數據庫名稱及連接密碼、上傳的發布目錄名即可。
網站自動部署應用自動解析處理相關配置并實現快速部署,只需設置應用暴露給用戶的選項并上傳部署文件即可完成快速部署。
3.2 自動部署管理界面
自動部署管理模塊對通過自動部署應用進行部署的網站進行全生命周期的管理,包括網站上線、網站備份、網站變更、網站下線等管理,還可利用Rancher管理平臺對應用使用的基礎設置進行查看和配置,包括服務所在的Docker主機、冗余部署數量、訪問地址及端口等信息。
3.3 自動部署程序模塊
應用自動部署程序模塊是網站自動部署應用的核心功能,模塊對由管理端傳入的應用配置信息及部署文件進行解析。
3.3.1 Docker鏡像生成
在程序對配置信息進行解析后,首先進行應用鏡像生成步驟,鏡像生成包括網站部署鏡像和數據庫服務鏡像。根據用戶選擇的發布環境和運行環境,選擇對應的鏡像作為網站部署基礎鏡像,將用戶的部署文件復制到網站部署基礎鏡像中,并記錄該鏡像的版本號,生成本次部署的鏡像文件。根據用戶選擇的數據庫版本選擇對應的數據庫基礎鏡像,并將用戶部署文件中的數據庫初始化文件復制入鏡像內,用于Docker鏡像啟動時初始化數據庫信息。之后把生成的鏡像上傳至鏡像倉庫,方便后續使用時調用。
3.3.2 Docker Compose文件生成
Compose文件主要包括Services,Volumes等設置,Services定義啟動的Docker服務的信息,如使用的鏡像、外部目錄、開放的端口等信息。Compose配置還包括Volumes信息,用于配置對應鏡像掛載的外部目錄,由Rancher的基礎設施服務提供支持,配置后在Docker服務啟動后將加載Volumes目錄中存儲的網站發布文件。
3.3.3 啟動Docker服務
利用Rancher CLI命令工具連接至Rancher管理系統,解析生成的Compose文件并由Rancher系統啟動Docker服務。Rancher CLI連接時需要提供Rancher的服務器地址及Access-Key,Secrey-Key,以保證連接的安全性,Rancher CLI提供包括上傳Compose文件在內的多個命令,可以方便地用命令管理Docker鏡像,在上傳Compose文件的同時可以指定相應的Stack名稱,方便在Rancher頁面對網站應用進行管理。
3.4 自動部署應用測試
本文以基于Tomcat8+JDK7的網站發布環境與MySQL數據庫環境為例,進行網站自動部署的測試,在登陸自動部署管理界面后,從選擇框中選擇對應的網站發布環境,在配置管理區域中進行發布配置,設置網站應用連接MySQL的數據庫名稱及密碼,以及網站發布文件的目錄名、開放訪問的端口及Rancher Stack的顯示名稱。
在完成配置及選擇網站應用文件后,即可點擊上傳并發布按鈕,自動部署應用自動將網站目錄上傳并解析配置信息,最后由Rancher根據Compose文件執行服務啟動命令。實際測試中,上傳完成后僅需13s即可通過配置的端口號訪問到發布的網站服務,極大地便捷了網站發布的流程,提高了發布管理的效率。
本文利用Docker虛擬化技術,針對高校校園網網站發布模式相對固定,資源占用相對較低,但是數量較多且需要集中管理的問題,設計實現了基于Docker的高校網站自動部署應用,利用Rancher管理平臺實現網站的快速自動部署,提高部署效率的同時也提高了虛擬系統的資源利用效率。最后,本文以Tomcat及MySQL發布平臺為例進行應用測試,實現了網站的自動部署功能。下一步的工作需要進一步加強網站的全生命周期管理,另外對眾多已經部署的網站日志文件進行匯總、分析等利用開發也需要進一步研究。
[1]謝超群.Docker 容器技術在高校數據中心的應用[J].貴陽學院學報(自然科學版),2015(4):27-29.
[2]劉熙,胡志勇.基于Docker容器的Web集群設計與實現[J].電子設計工程,2016(8):117-119.
[3]彭勇,謝劍,童遙,等.一種基于Docker的數據中心云平臺實現方法及系統[J].中興通訊技術,2017(2):60-62.
Application of websites automatic deployment based on Docker in colleges and universities
Yang Hongjiao
(Tianjin Foreign Studies University, Tianjin 300204, China)
The number of websites in colleges and universities is increasing day by day. How to design a websites deployment scheme with high utilization rate, easy to operate and maintain is the direction of research in colleges and universities. Based on the Docker virtualization platform, aiming at the characteristics of the relatively uniform running environment of the website in colleges and universities, this paper designs and realizes the application of websites automatic deployment based on Docker, to realize the websites automatic deployment. The practical application tests show that application of automated deployment not only improves the ef fi ciency of website deployment maintenance, but also further enhances the utilization of data center resource .
Docker; websites in colleges and universities; automatic deployment
楊洪嬌(1988— ),男,河北石家莊人,碩士,助理工程師;研究方向:模式識別和圖像處理。