雲計算伺服器批量部署方法及裝置與流程
2023-07-27 20:58:46 4

本發明涉及計算機技術領域,尤其涉及一種雲計算伺服器批量部署方法及裝置。
背景技術:
隨著IT技術的發展,人們希望像使用水和電一樣使用計算機資源,這使得雲計算的產生。相對於傳統數據中心,雲計算數據中心有超大規模和資源整合的特點。雲計算將計算任務分布在大量計算機構成的資源池上,使各種應用系統能夠根據需要獲取計算力、存儲空間和各種軟體服務。
現有傳統的雲計算部署方法針對每臺Linux雲計算伺服器採用人工部署,串行實施。在雲計算伺服器臺數較少例如只有幾臺時,該現有方法的部署成本不大,但是隨著雲計算伺服器臺數的增加,所耗費人力成本呈幾何級增長,部署工作效率很低,同時由於是採用人工操作大量伺服器,還有可能導致部署質量下降,遺漏部署某些伺服器或者某臺雲計算伺服器的某些步驟。目前的Linux雲計算伺服器基本都是大批量的部署,很少有和傳統部署方式相同的,只需要部署幾臺伺服器就可以。
因此,降低雲計算部署的人工成本及提高部署質量成為亟需解決的問題。
技術實現要素:
本發明提供一種雲計算伺服器批量部署方法及裝置,以降低雲計算部署的人工成本並提高部署質量。
本發明提供一種雲計算伺服器批量部署方法,包括:讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器;檢查所述需被部署雲計算伺服器的基礎環境,得到具備部署基礎環境的雲計算伺服器;讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到所述具備部署基礎環境的雲計算伺服器的部署實施步驟;根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器。
一個實施例中,所述部署實施步驟包括:ssh自動登錄、添加路由、添加/etc/hosts及/etc/HOSTNAME文件條目、創建主機相關分區及文件系統、添加組和用戶、安裝系統補丁及軟體包、修改用戶密碼、秘鑰分發、部署定時任務、以及系統上線前檢查及安全加固中的一個或多個。
一個實施例中,還包括:檢查所述具備部署基礎環境的雲計算伺服器的部署結果,並判斷所述部署結果是否符合預期;若是,重新讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到另一個具備部署基礎環境的雲計算伺服器的部署實施步驟,並根據該部署實施步驟部署所述另一個具備部署基礎環境的雲計算伺服器;若否,則報錯並停止部署。
一個實施例中,所述方法利用批量部署伺服器實現,讀取雲計算伺服器批量部署主機列表之前,還包括:在所述批量部署伺服器輸入個人帳號和root帳號密碼。
一個實施例中,所述方法基於expect語言實現。
本發明還提供一種雲計算伺服器批量部署裝置,包括:主機列表讀取單元,用於執行:讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器;基礎環境檢查單元,用於執行:檢查所述需被部署雲計算伺服器的基礎環境,得到具備部署基礎環境的雲計算伺服器;部署步驟讀取單元,用於執行:讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到所述具備部署基礎環境的雲計算伺服器的部署實施步驟;部署步驟實施單元,用於執行:根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器。
一個實施例中,所述部署步驟讀取單元,還用於執行:所述部署實施步驟包括:ssh自動登錄、添加路由、添加/etc/hosts及/etc/HOSTNAME文件條目、創建主機相關分區及文件系統、添加組和用戶、安裝系統補丁及軟體包、修改用戶密碼、秘鑰分發、部署定時任務、以及系統上線前檢查及安全加固中的一個或多個。
一個實施例中,還包括:部署結果檢查單元,用於執行:檢查所述具備部署基礎環境的雲計算伺服器的部署結果,並判斷所述部署結果是否符合預期;部署結果處理單元,用於執行:若是,重新讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到另一個具備部署基礎環境的雲計算伺服器的部署實施步驟,並根據該部署實施步驟部署所述另一個具備部署基礎環境的雲計算伺服器;若否,則報錯並停止部署。
一個實施例中,所述裝置利用批量部署伺服器實現,還包括:部署權限控制單元,用於執行:在所述批量部署伺服器輸入個人帳號和root帳號密碼。
一個實施例中,所述裝置基於expect語言實現。
本發明實施例的雲計算伺服器批量部署方法及裝置,通過讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器,進而得到具備部署基礎環境的雲計算伺服器,並獲取具備部署基礎環境的雲計算伺服器的部署實施步驟,以及根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器能夠實現對雲計算伺服器的批量部署。通過檢查所述需被部署雲計算伺服器的基礎環境,能夠實現每次批量部署前都對部署伺服器進行檢查,確保伺服器具備部署的基礎環境。本發明能夠實現自動化批量部署,極大降低人工部署成本,提高工作效率,防止忘記部署某些伺服器或者某臺某些步驟,提高部署工作質量。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。在附圖中:
圖1是本發明一實施例的雲計算伺服器批量部署方法的流程示意圖;
圖2是本發明另一實施例的雲計算伺服器批量部署方法的流程示意圖;
圖3是本發明又一實施例的雲計算伺服器批量部署方法的流程示意圖;
圖4是本發明一實施例中雲計算伺服器批量部署的系統架構示意圖;
圖5是本發明再一實施例的雲計算伺服器批量部署方法的流程示意圖;
圖6是本發明一實施例的雲計算伺服器批量部署裝置的結構示意圖;
圖7是本發明另一實施例的雲計算伺服器批量部署裝置的結構示意圖;
圖8是本發明又一實施例的雲計算伺服器批量部署裝置的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚明白,下面結合附圖對本發明實施例做進一步詳細說明。在此,本發明的示意性實施例及其說明用於解釋本發明,但並不作為對本發明的限定。
圖1是本發明一實施例的雲計算伺服器批量部署方法的流程示意圖。如圖1所示,本實施例的雲計算伺服器批量部署方法,可包括步驟:
S110:讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器;
S120:檢查所述需被部署雲計算伺服器的基礎環境,得到具備部署基礎環境的雲計算伺服器;
S130:讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到所述具備部署基礎環境的雲計算伺服器的部署實施步驟;
S140:根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器。
該雲計算伺服器可以是Linux雲計算伺服器。該雲計算伺服器批量部署主機列表可以預先獲取或設置,例如可以預先獲取並存儲在批量部署伺服器上。該雲計算伺服器批量部署主機列表可以包括各種雲計算伺服器的信息,例如主機名。所述需被部署雲計算伺服器的基礎環境可以包括雲計算伺服器的各種情況,例如硬碟空間、分區、系統文件等。具備部署基礎環境的雲計算伺服器的主機列表可以包括具備部署基礎環境的雲計算服務的各種信息,例如主機名、所需實施的步驟。各具備部署基礎環境的雲計算伺服器的部署實施步驟可以相同或不同。
在上述步驟S140中,根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器具體地,可以包括:判斷每臺具備部署基礎環境的雲計算伺服器需要實施的步驟並讀取每臺具備部署基礎環境的雲計算伺服器的配置文件,登錄到該具備部署基礎環境的雲計算伺服器進行部署實施。
本實施例中,通過讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器,進而得到具備部署基礎環境的雲計算伺服器,並獲取具備部署基礎環境的雲計算伺服器的部署實施步驟,以及根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器能夠實現對雲計算伺服器的批量部署。通過檢查所述需被部署雲計算伺服器的基礎環境,能夠實現每次批量部署前都對部署伺服器進行檢查,確保伺服器具備部署的基礎環境。
一些實施例中,所述部署實施步驟包括:ssh自動登錄、添加路由、添加/etc/hosts及/etc/HOSTNAME文件條目、創建主機相關分區及文件系統、添加組和用戶、安裝系統補丁及軟體包、修改用戶密碼、秘鑰分發、部署定時任務、以及系統上線前檢查及安全加固中的一個或多個。
可以ssh自動登錄雲計算伺服器;可以為雲計算伺服器添加路由;可以為雲計算伺服器添加本主機/etc/hosts和/etc/HOSTNAME文件條目;可以在雲計算伺服器創建主機相關分區及文件系統;可以在雲計算伺服器添加組和用戶;可以為雲計算伺服器安裝系統補丁及軟體包;可以對雲計算伺服器的用戶密碼進行修改;可以將密鑰文件分發至雲計算伺服器;可以在對雲計算伺服器上部署定時任務;可以對雲計算伺服器進行系統上線(投產)前檢查及安全加固。每個部署實施步驟都可有預期的輸出結果,通過對輸出結果的判斷可以進行相應的交互處理。
本實施例中,可針對每臺雲計算伺服器統一或者分部實施上述署實施步驟。通過統一或者分部實施以上步驟,可以完成對雲計算伺服器的系統基礎環境批量部署,確保符合部署需求及安全規則,同時,可以極大的降低人工部署成本及提高工作效率和質量。
圖2是本發明另一實施例的雲計算伺服器批量部署方法的流程示意圖。如圖2所示,圖1所示的雲計算伺服器批量部署方法,還可包括步驟:
S150:檢查所述具備部署基礎環境的雲計算伺服器的部署結果,並判斷所述部署結果是否符合預期;
S160:若是,重新讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到另一個具備部署基礎環境的雲計算伺服器的部署實施步驟,並根據該部署實施步驟部署所述另一個具備部署基礎環境的雲計算伺服器;若否,則報錯並停止部署。
部署實施步驟例如是為雲計算伺服器添加組和用戶,則該部署結果可以是完成添加組和用戶,預期應當是雲計算伺服器上添加了組和用戶。
在上述步驟S150中,例如可以檢查是否能夠正常登陸雲計算伺服器,雲計算伺服器的磁碟空間是否滿足等。
在上述步驟S160中,若部署結果符合預期,可以繼續從具備部署基礎環境的雲計算伺服器的主機列表中讀取其他的雲計算伺服器進行部署,依次循環進行,可以交互部署完成所有具備部署基礎環境的雲計算伺服器。若部署結果不符合預期,則可報錯並停止部署,可以便於檢查報錯原因。
本實施例中,通過檢查所述具備部署基礎環境的雲計算伺服器的部署結果,並判斷所述部署結果是否符合預期,如果結果符合預期就繼續讀取主機列表部署實施,否則報錯完成退出,能夠實現在每次批量部署過程中及結束後對執行結果進行檢查,以確保執行結果符合預期,提高部署質量。
圖3是本發明又一實施例的雲計算伺服器批量部署方法的流程示意圖。所述方法利用批量部署伺服器實現,如圖3所示,圖1所示的雲計算伺服器批量部署方法,在步驟S110之前,即讀取雲計算伺服器批量部署主機列表之前,還可包括步驟:
S170:在所述批量部署伺服器輸入個人帳號和root帳號密碼。
本實施例中,通過在所述批量部署伺服器輸入個人帳號和root帳號密碼,能夠使實施部署的用戶在每次批量部署前都需要輸入個人帳號和root帳號密碼,實現了交互功能和權限控制,提高了部署的安全性。
一些實施例中,上述各實施例的雲計算伺服器批量部署方法可以基於expect語言實現。上述各實施例的部署方法利用expect語言實現實施批量部署,可以自動實現部署步驟,尤其是能夠方便地自動實現需要交互的部署步驟,從而可以提高批量部署的效率。
圖4是本發明一實施例中雲計算伺服器批量部署的系統架構示意圖。如圖4所示,雲計算伺服器批量部署的系統中可以包含批量部署伺服器(Batch deployment server)301和多臺雲計算伺服器302,批量部署伺服器301分別與每臺雲計算伺服器302連接。本發明各實施例的批量部署方法可以極大地降低人工部署成本及提高工作效率,傳統部署方法每人每天只能部署8臺左右雲計算伺服器,實施批量部署後,每人每天可批量部署例如200臺雲計算伺服器302。
圖5是本發明再一實施例的雲計算伺服器批量部署方法的流程示意圖。如圖5所示,批量部署server首先讀取需要批量部署主機列表,檢查確認生成具備部署基礎環境的雲伺服器;然後讀取具備部署基礎環境的主機列表,判斷每個需要部署雲伺服器需要實施的步驟,交互批量部署實施;最後對對實施結果進行檢查,如果結果符合預期就繼續讀取主機列表部署實施,否則報錯完成退出。本實施例的雲計算伺服器批量部署方法可基於expect程式語言實現,實現對雲計算伺服器基礎環境檢查、批量部署、批量部署過程中的交互以及對批量部署結果的檢查。首先是批量部署server端讀取需要部署的Linux雲計算伺服器主機列表;然後判斷每臺主機需要實施的步驟並讀取每臺主機的配置文件,登錄到該主機部署實施;最後對實施結果進行檢查。
本實施例的方法,非常適合大批量的Linux雲計算伺服器批量部署。每次批量部署前都會對部署伺服器進行檢查,確保伺服器具備部署的基礎環境。每次批量部署前都需要輸入個人帳號和root帳號密碼,實現了交互功能和權限控制。每次批量部署過程中及結束後都可以對執行結果進行檢查,以確保執行結果符合預期。實現了自動化批量部署、極大的降低了人工部署成本,提高了工作效率。防止忘記部署某些伺服器或者某臺某些步驟,提高了工作質量。
本發明實施例的雲計算伺服器批量部署方法,通過讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器,進而得到具備部署基礎環境的雲計算伺服器,並獲取具備部署基礎環境的雲計算伺服器的部署實施步驟,以及根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器能夠實現對雲計算伺服器的批量部署。通過檢查所述需被部署雲計算伺服器的基礎環境,能夠實現每次批量部署前都對部署伺服器進行檢查,確保伺服器具備部署的基礎環境。本發明能夠實現自動化批量部署,極大降低人工部署成本,提高工作效率,防止忘記部署某些伺服器或者某臺某些步驟,提高部署工作質量。
基於與圖1所示的雲計算伺服器批量部署方法相同的發明構思,本申請實施例還提供了一種雲計算伺服器批量部署裝置,如下面實施例所述。由於該雲計算伺服器批量部署裝置解決問題的原理與雲計算伺服器批量部署方法相似,因此該雲計算伺服器批量部署裝置的實施可以參見雲計算伺服器批量部署方法的實施,重複之處不再贅述。
圖6是本發明一實施例的雲計算伺服器批量部署裝置的結構示意圖。如圖6所示,本實施例的雲計算伺服器批量部署裝置,可包括:主機列表讀取單元210、基礎環境檢查單元220、部署步驟讀取單元230及部署步驟實施單元240,上述各單元順序連接。
主機列表讀取單元210用於執行:讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器。
基礎環境檢查單元220用於執行:檢查所述需被部署雲計算伺服器的基礎環境,得到具備部署基礎環境的雲計算伺服器。
部署步驟讀取單元230用於執行:讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到所述具備部署基礎環境的雲計算伺服器的部署實施步驟。
部署步驟實施單元240用於執行:根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器。
本實施例中,通過讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器,進而得到具備部署基礎環境的雲計算伺服器,並獲取具備部署基礎環境的雲計算伺服器的部署實施步驟,以及根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器能夠實現對雲計算伺服器的批量部署。通過檢查所述需被部署雲計算伺服器的基礎環境,能夠實現每次批量部署前都對部署伺服器進行檢查,確保伺服器具備部署的基礎環境。
一些實施例中,所述部署步驟讀取單元,還用於執行:所述部署實施步驟包括:ssh自動登錄、添加路由、添加/etc/hosts及/etc/HOSTNAME文件條目、創建主機相關分區及文件系統、添加組和用戶、安裝系統補丁及軟體包、修改用戶密碼、秘鑰分發、部署定時任務、以及系統上線前檢查及安全加固中的一個或多個。
本實施例中,可針對每臺雲計算伺服器統一或者分部實施上述署實施步驟。通過統一或者分部實施以上步驟,可以完成對雲計算伺服器的系統基礎環境批量部署,確保符合部署需求及安全規則,同時,可以極大的降低人工部署成本及提高工作效率和質量。
圖7是本發明另一實施例的雲計算伺服器批量部署裝置的結構示意圖。如圖7所示,圖6所示的雲計算伺服器批量部署裝置,還可包括:部署結果檢查單元250和部署結果處理單元260,二者相互連接,部署結果檢查單元250與上述部署步驟實施單元240連接。
部署結果檢查單元250用於執行:檢查所述具備部署基礎環境的雲計算伺服器的部署結果,並判斷所述部署結果是否符合預期。
部署結果處理單元260用於執行:若是,重新讀取所述具備部署基礎環境的雲計算伺服器的主機列表,得到另一個具備部署基礎環境的雲計算伺服器的部署實施步驟,並根據該部署實施步驟部署所述另一個具備部署基礎環境的雲計算伺服器;若否,則報錯並停止部署。
在上述部署結果處理單元260中,若部署結果符合預期,可以繼續從具備部署基礎環境的雲計算伺服器的主機列表中讀取其他的雲計算伺服器進行部署,依次循環進行,可以交互部署完成所有具備部署基礎環境的雲計算伺服器。若部署結果不符合預期,則可報錯並停止部署,可以便於檢查報錯原因。
本實施例中,通過檢查所述具備部署基礎環境的雲計算伺服器的部署結果,並判斷所述部署結果是否符合預期,如果結果符合預期就繼續讀取主機列表部署實施,否則報錯完成退出,能夠實現在每次批量部署過程中及結束後對執行結果進行檢查,以確保執行結果符合預期,提高部署質量。
圖8是本發明又一實施例的雲計算伺服器批量部署裝置的結構示意圖。所述裝置利用批量部署伺服器實現,如圖8所示,圖6所示的雲計算伺服器批量部署裝置,還可包括:部署權限控制單元270,該部署權限控制單元270與上述主機列表讀取單元210連接。
部署權限控制單元270用於執行:在所述批量部署伺服器輸入個人帳號和root帳號密碼。
本實施例中,通過在所述批量部署伺服器輸入個人帳號和root帳號密碼,能夠使實施部署的用戶在每次批量部署前都需要輸入個人帳號和root帳號密碼,實現了交互功能和權限控制,提高了部署的安全性。
一些實施例中,所述裝置基於expect語言實現。上述各實施例的部署裝置利用expect語言實現實施批量部署,可以自動實現部署步驟,尤其是能夠方便地自動實現需要交互的部署步驟,從而可以提高批量部署的效率。
本發明實施例的雲計算伺服器批量部署裝置,通過讀取雲計算伺服器批量部署主機列表,得到需被部署雲計算伺服器,進而得到具備部署基礎環境的雲計算伺服器,並獲取具備部署基礎環境的雲計算伺服器的部署實施步驟,以及根據所述部署實施步驟部署所述具備部署基礎環境的雲計算伺服器能夠實現對雲計算伺服器的批量部署。通過檢查所述需被部署雲計算伺服器的基礎環境,能夠實現每次批量部署前都對部署伺服器進行檢查,確保伺服器具備部署的基礎環境。本發明能夠實現自動化批量部署,極大降低人工部署成本,提高工作效率,防止忘記部署某些伺服器或者某臺某些步驟,提高部署工作質量。
在本說明書的描述中,參考術語「一個實施例」、「一個具體實施例」、「一些實施例」、「例如」、「示例」、「具體示例」、或「一些示例」等的描述意指結合該實施例或示例描述的具體特徵、結構、材料或者特點包含於本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特徵、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。各實施例中涉及的步驟順序用於示意性說明本發明的實施,其中的步驟順序不作限定,可根據需要作適當調整。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,並不用於限定本發明的保護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。