后起之秀go語言你了解嗎?助你年薪30W+
隨著云計算越來越普及,企業原來以內部IDC機房為載體的IT基礎架構也逐漸發生了很大的變化,企業的業務系統除了部署在原來物理架構外,可能部署在yMware私有云、spenstack,私有云、阿里云公有云、AWS公有云、騰訊云、Azure等等各種云平臺之上,形成了更加復雜在多云1T基礎架構。那么我們該如何對多云主機進行管理和運維呢?今天我們就給大家分享一個Go語言的案例。
一、項目思路
整個代碼的實現思路其實很簡單,首先,每個云平臺都有開放API接口,可以通過命令行工具TCCLI以及curl命令調用,還可以通過Go的http請求調用。那么我們可以研究不同云平臺的各個接口,通過代碼實現調用對應的API,然后綜合整合到一個多云管理平臺上。這樣就省去在不同平臺之間的切換運維成本了!
本文中我們將通過查詢區域的接口來給大家示范一下如何使用Go語言去操作云主機。
這是騰訊云關于區域查詢接口的示例,從接口文檔中我們可以看到接口描述、輸入參數、輸出參數以及示例:
https://cloud.tencent.com/document/api/213/15708
二、主要技術支撐
1. 組件:MySQL
2. WEB開發框架:Beego
3. 模板:Vali-admin
4. 云API:騰訊云
三、代碼實現
第一步,先用curl模擬一下請求DescribeRegions接口,從而可以獲知需要傳入的參數以及輸出參數的格式。
從請求中可以看到,關鍵參數是credential和signature字段,其他參數都是相對固定的。Credential就是我們的用戶id,signature需要根據我們傳輸的參數來生成,那我們的重點就在于怎么生成signature。
第二步:我們先引入一些庫,實現一些加解密的函數:
第三步:我們使用這些函數完成signature的生成函數
第四步,我們可以開始在TencentAPISignature函數的幫助下,請求DescribeRegions接口了。其中的secretId和secretKey都可以從騰訊云的賬號里獲得。
四、成果展示
最后,從代碼中獲取了返回的region信息,那就可以通過其他組件展示在我們的多云管理平臺了。
如上demo的每個字段以及操作按鈕都是通過調用騰訊云的API來實現的,我們可以通過一個API的學習和使用,來觸類旁通舉一反三,實現所有字段的完美展示。
五、總結
在多云平臺群雄逐鹿的時代,沒有一家公司會把雞蛋放在同一個籃子里。如何整合多個云平臺的主機管理,是每個運維開發架構師需要去思考的問題。
好啦!今天的分享到這里就結束了,希望大家持續關注馬哥教育官網,每天都會有大量優質內容與大家分享!
文章來源于網絡,侵刪!