隨著雲計算越來越普及,企業原來以內部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接口,從而可以獲知需要傳入的參數以及輸出參數的格式。
![後起之秀go語言你瞭解嗎?助你年薪30W+](http://p2.ttnews.xyz/loading.gif)
從請求中可以看到,關鍵參數是credential和signature字段,其他參數都是相對固定的。Credential就是我們的用戶id,signature需要根據我們傳輸的參數來生成,那我們的重點就在於怎麼生成signature。
第二步:我們先引入一些庫,實現一些加解密的函數:
![後起之秀go語言你瞭解嗎?助你年薪30W+](http://p2.ttnews.xyz/loading.gif)
第三步:我們使用這些函數完成signature的生成函數
第四步,我們可以開始在TencentAPISignature函數的幫助下,請求DescribeRegions接口了。其中的secretId和secretKey都可以從騰訊雲的賬號裡獲得。
四、成果展示
最後,從代碼中獲取了返回的region信息,那就可以通過其他組件展示在我們的多雲管理平臺了。
如上demo的每個字段以及操作按鈕都是通過調用騰訊雲的API來實現的,我們可以通過一個API的學習和使用,來觸類旁通舉一反三,實現所有字段的完美展示。
五、總結
在多雲平臺群雄逐鹿的時代,沒有一家公司會把雞蛋放在同一個籃子裡。如何整合多個雲平臺的主機管理,是每個運維開發架構師需要去思考的問題。
想了解go語言運維開發的更多實戰項目,可以 掃描 下方二維碼填寫表單即可免費領取,還可以領取本文案例中的源代碼
填寫表單即可GO運維開發基礎+實戰項目
http://magedu2018.mikecrm.com/5zHnH7B
Go語言作為出身名門的後起之秀,大家所熟知的Docker和Kubernets(K8S)就是使用Go語言開發的,以其簡單高效、高併發、跨平臺的優勢,稱霸於容器領域。
調查顯示,2019年,程序員最想學習的編程語言Top3分別為Go,Kotlin和Python,其中Go語言以37.2%的比例排在首位。
2020全新升級Go運維開發架構師課
變身架構師 輕鬆進名企
現在報名,就可以享受
“宅家學習,我買單”
鉅額優惠券
當然,你也可以先花1分鐘來了解“為什麼我們有信心把你教好”。
▌關於馬哥教育
馬哥教育本身就是一家專業做IT技術教育的公司,在內容、產品、服務、科技上都具備完善體系,真正聚焦用戶的學習成長。旗下有「linux」和「Python」這兩款上萬用戶的產品。
而馬哥教育的理念是:“做一傢俱有匠心精神,良心教育的高品質企業,死磕一線互聯網標準,用心培養高薪IT精英”。
基於此,馬哥教育 希望能幫助大家在技術領域找到自己的成長之路,掌握提升自己技術能力的秘訣,進入一線互聯網企業,挑戰年薪50w+。也因此,馬哥教育開始推動「2020課程重磅升級」項目。
之所以稱之為「2020課程重磅升級」,因為課程本身是馬哥教育走訪100+互聯網公司,對技術的發展方向進行全面調研,並把很多一線互聯網案例直接設計到課程中而打造的的好課。
▌不斷迭代升級課程
馬哥教育課程已經迭代10多個版本,現擁有500多個課時,涵蓋各大公司目前用到的最新雲計算技術,培養了數千名高級Linux雲計算運維人才,不少同學學習六個月畢業後就業於阿里、滴滴、新浪、字節跳動等知名互聯網公司,還有一些同學年薪已經達到50w+,比最初的薪資提升了10倍。
▌12項就職就業服務全面提升就業機會
▌助教跟進輔導教學
「2020課程重磅升級」還設有專門的班級學習群,每個班級都會分配助教,對你的學習進行全程跟蹤,及時解答你的各類問題。
很多人認為IT技術學習是一件非常枯燥的事情,很多人都堅持不下去。但如果你能和別人一起學習、互相討論,另外還有線上老師全方位輔助答疑,說實話想不進步都難!
▼來自一線學員的課程評價
▌專家評價
▌名師介紹
馬哥教育攜手騰訊課堂【六期免息優惠】
閱讀更多 馬哥Linux 的文章