您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何通過ROS輕松實現資源編排新方式,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
在日常工作中,我們一定遇到過需要快速構建系統的工作情形:
作為資源管理人員,需要接收一定數量以及配置的資源申請,這些申請要求網絡、存儲設備按需到位;
作為開發人員,需要將一套開發環境,復制一份測試環境以及線上環境;
架構師規劃一套系統,需要在云上進行搭建。
這些場景都展現著我們日常所遇的各種困難:
對各類云端資源需要進行廣泛支持與管理:這其中需要包括常用基礎IaaS 資源及 PaaS 服務,比如主機、路由器、負載均衡器等計算網絡資源以及各種數據庫、緩存、大數據、存儲服務;
資源編排使用難度大:技術棧復雜而難用,實現復雜拓撲關系需要系統化知識與豐富經驗;
大量機械重復的手動配置操作:不僅是各資源及其拓撲關系按配置進行手工部署,各資源間的拓撲關系更是令人頭疼;
學習成本高:過往的資源管理依賴于通過命令行調用API 的方式,提升了操作難度和學習成本。
由此可見,自動化運維成了運維人員的業務剛需,各大云廠商也相繼推出各自的資源編排服務(Resource Orchestration,以下簡稱 ROS)。ROS 的理念是“基礎設施即代碼”,一方面是用代碼思維的版本管理來記錄基礎設施變化,另一方面通過代碼實現自動化運維,簡化編寫代碼復雜度,用戶通過使用 Json / Yaml 格式模版描述多個云計算資源(如 ECS、RDS、SLB)的配置、依賴關系等,并自動完成所有云資源在多個不同地域以及多個賬戶中的部署和配置,就像樂高積木一般,運維人員輕松完成搭建。
經過多次調研后,我們發現針對于云服務器最多的場景是基于云服務器“此刻的狀態”再創建 1-N 臺云服務器,新創建的云服務器系統盤和數據盤都是“此刻的狀態”。我們以一個網站服務為例,一般運維工程師會在系統盤或數據盤中安裝一些應用,如:Tomcat、Jenkins、MySql、網站自身的數據/文件等等。如果需要再創建一臺云服務器與目前已有云服務器的系統或數據狀態保持一致,可以將系統盤做成自定義鏡像,數據盤做成快照,然后再新購買云服務器時鏡像選擇該自定義鏡像,數據盤的快照選擇該快照,安全組的規則配置與原云服務器一致的規則,就可以創建一臺基于原云服務器“此刻狀態”的新云服務器。
如果只需創建這一臺云服務器且不需要記錄歷史狀態,上述方法是比較合適的。
但實際情況遠遠比這復雜得多,比如可能會頻繁創建/釋放云服務器;或者生成鏡像的操作人員與購買云服務器的人員不是同一個人,一但購買選項沒有選正確,新購的這臺云服務器就不能投入業務中,按量計費的需要再釋放,包年包月的需要等到到期釋放或者做數據遷移,勢必帶來成本損失;想記錄或跟蹤云服務器的歷史演變,如安全組配置變化、基礎鏡像等信息,也需要單獨記錄。
面對上述問題,運維人員使用 ROS 的模板作為交付物,將資源固定參數在模板資源中定義,將可變參數在模板參數中定義,方便運行時輸入實際參數。這樣在頻繁創建云服務器時,只需要輸入可變參數中的內容即可,如鏡像 ID、快照 ID,或者克隆原云服務器,或者沒有可變參數,將所有定義都在資源中描述,根據實際業務要求進行模板編寫。模板也可以存放在 Github 中,可以像管理代碼一樣跟蹤模板歷史,也可以基于模板之上創建適合于企業內部的運維工具,實現自動化運維,以“基礎設施即代碼”的理念代替“重復勞動”。
我們可以看到 ROS 的強大特性:
可讀、易編寫的文本文件:運維人員可以直接編輯 JSON 格式文本,或使用 ROS 控制臺提供的可視化編輯器編輯模板。通過 SVN、Git 等版本控制工具控制模板版本,以達到控制基礎設施版本目的。也可通過 API、SDK 等方式將 ROS 的編排能力與自己的應用進行整合,實現基礎設施即代碼(Infrastructure as Code);
標準化的資源和應用交付方式:獨立軟件供應商(ISV)可以通過 ROS 模板交付包含云資源和應用的整體系統和解決方案。ISV 可以通過這種交付方式,整合阿里云的資源和 ISV 的軟件系統,實現統一交付;
通過資源棧(Stack)統一管理一組云資源(一個資源棧即為一組阿里云資源):對于云資源創建、刪除、克隆等操作,以資源棧為單位來完成。在 DevOps 實踐中,可以使用 ROS 克隆開發環境、測試環境和線上環境,實現應用的整體遷移、擴容。
在了解 ROS 的強大后,我們就在日常使用過程中會創建各種數量的 ROS 模板。這也就造成了我們在日常的運維管理中,需要更便捷的工具對模板進行管理。為了更好的管理本地與云端的 ROS 模版,我們上線了 Alibaba Cloud Toolkit - Alibaba ROS Templates,通過一個資源配置文件(.ros.config.yml),協助用戶對模板文件進行管理操作。
說明:.ros.config.yml 文件是 Alibaba ROS Templates 工具用于管理模板的源文件。
第一步:在 IntelliJ IDEA 中打開您的工程。
第二步:創建模板,有以下兩種創建方式:
在 IntelliJ IDEA 中右鍵單擊您的工程名稱,選擇 New > AlibabaCloud ROS YAML Template 或選擇 New > AlibabaCloud ROS JSON Template。
注意:使用這種方式創建的模板不會被 Alibaba ROS Templates 工具管理。如需使用模板工具管理,則需要在 .ros.config.yml 文件中增加模板路徑,并將模板移動至 JSON 和 YAML 文件夾下。
打開 IntelliJ IDEA 右邊框 Alibaba ROS Templates 工具,單擊 Create,輸入模板的名稱,選擇模板的類型,創建本地模板。
第三步:在 Resources 參數中輸入資源類型。
AlibabaCloud ROS YAML Template 示例
AlibabaCloud ROS JSON Template 示例
第四步:說明 Ctrl+ 鼠標左鍵可實現參數位置與參數之間的跳轉, 使用 Ctrl+ 鼠標懸浮可實現參數的懸浮信息。模板管理功能操作說明如下表所示:
右鍵單擊本地模板,可根據需求進行操作:
功能操作說明如下:
Upload:上傳模板
Rename:重命名模板名稱
Delete:刪除本地模板
右鍵單擊遠端模板,可根據需求進行操作:
功能操作說明如下:
Download:下載模板
Properties:查看模板屬性信息
Delete:刪除遠端模板
說明雙擊遠端模板,默認會打開一個臨時文件,右鍵菜單選擇 Alibaba Cloud ROS > Update Template,顯示對比遠端模板修改情況,可更新遠端模板。
Alibaba Cloud Toolkit - Alibaba Cloud ROS (Alibaba Cloud View)是一個用于管理阿里云資源編排產品(ROS)資源棧的工具,能幫助您便捷地管理遠端資源棧。
在 IntelliJ IDEA 中打開您的工程;
在 IntelliJ IDEA 窗口中選擇 Alibaba Cloud View > Alibaba Cloud ROS,可根據您的需求進行相關操作。
資源棧管理功能操作說明如下表所示:
Resources:顯示該資源棧內的所有資源信息
Parameters:顯示該資源棧的參數信息
作為集開發、測試、診斷、部署為一體的免費本地多 IDE 插件,Cloud Toolkit 幫助開發者真正實現任意服務器或 ECS、EDAS、Kubernetes、SAE、函數計算等一鍵式研發部署,支持 Java 規約、高效執行終端命令和 SQL 等常見工具,研發速度提升 8 倍以上,大幅降低研發成本。
產品完全免費并覆蓋 IntelliJ IDEA、Eclipse、Pycharm、Maven、VS Code 等不同 IDE 環境。持續更新+社群支持,確保開發者放心使用,真正做到研發團隊降本提效。
看完上述內容,你們對如何通過ROS輕松實現資源編排新方式有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。