天天看點

牛逼 IDE 插件,一鍵部署 Docker 鏡像,開發部署提速 8 倍

容器技術提供了一種标準化的傳遞方式,将應用的代碼以及代碼環境依賴都打包在一起,成為一個與環境無關的傳遞物,可以被用在軟體生命周期的任何階段,徹底改變了傳統的軟體傳遞方式。

甚至可以說,是在容器技術之後,DevOps、CI/CD 等運維關鍵問題才有了質的飛躍:實作資源的動态建立和銷毀,更輕量的容器技術既能保證環境一緻性也能進一步提高疊代頻率,各種容器平台也能更好地保證應用高可用、自動伸縮、業務連續等等。

今天将跟大家分享支撐雙十一的容器鏡像倉庫 ACR,以及它是如何實作搭配 IDE 插件和 CICD/雲原生應用傳遞鍊來實作一鍵部署與持續內建,以下是本文提綱:

•什麼是 容器鏡像倉庫 ACR

•如何搭配 免費 IDE 插件 實作一鍵部署

•如何運用 CICD/雲原生應用傳遞鍊 實作持續內建與傳遞

容器鏡像倉庫 ACR

為了更好地支援雙十一大規模分發需求,容器鏡像倉庫(Alibaba Cloud Container Registery, ACR)團隊提前進行規劃及疊代更新,全面提升了大規模分發場景下的性能、可觀測性和穩定性。在新的雙十一來臨前,容器鏡像倉庫已達到了數 PB 的鏡像托管量,月均鏡像拉取達數億次,平滑度過 54.4 萬筆交易峰值。

阿裡雲鏡像倉庫 ACR 分為預設執行個體版與企業版,雖然結合阿裡雲産品做了多元度優化,但是并不與阿裡雲強制綁定。ACR 預設執行個體版面向容器開發者,提供安全的鏡像托管、便捷的鏡像授權功能,友善使用者進行鏡像全生命周期管理,并且簡化了 Registry 的搭建運維工作,支援全球 20 個地域的鏡像托管。ACR 企業版面向安全需求高、業務多地域大規模部署的企業級客戶,提供大規模鏡像分發能力、企業級的安全獨享特性,以及雲原生應用傳遞鍊,可實作一次應用變更,多場景自動化傳遞,而且全鍊路可觀測、可跟蹤以及可設定。

•官方連結位址:

https://www.aliyun.com/product/acr

如何搭配 免費 IDE 插件實作一鍵部署

Cloud Toolkit 是一款免費的本地 IDE 插件,很多技術部落格都有相關的測評,是一款口碑較好的插件。它能夠幫助開發者更高效地開發、測試、診斷并部署應用。設定好插件的初始配置之後,可以将本地應用一鍵部署到任意伺服器 Host,甚至雲端(ECS、ACR、Kubernetes 和 小程式雲 等);并且還内置了 Arthas 診斷、Dubbo工具、Terminal 終端、檔案上傳、函數計算 和 MySQL 執行器等工具,減少了切換工作界面的時間,靈巧且實用,推薦安裝試用一波。下面介紹,插件如何将應用一鍵部署到容器鏡像倉庫 ACR 。

•官方下載下傳位址:

https://cn.aliyun.com/product/cloudtoolkit

開發者的部署包從形成鏡像到鏡像倉庫,手動操作的話,每一次都需要經曆下圖 4 個步驟:登入阿裡雲Docker Registr--> 從Registry中拉取鏡像 --> 将鏡像推送到Registry --> 選擇合适的鏡像倉庫位址,但是,使用 Cloud Toolkit ,開發者可以實作在本地 IDE 就能一鍵部署到鏡像倉庫。

(一)配置插件首選項

安裝完插件之後,點選:頂部菜單Tools --> Alibaba Cloud Toolkit --> Preferences-->左邊清單的 Alibaba Cloud Toolkit--> Accounts ,出現如下界面,配置阿裡雲賬号的 AK 和 SK,即可完成首選項配置。(如果是子賬号,則填寫子賬号的 AK 和 SK)

(二)設定本地 Docker 鏡像打包

點選:頂部菜單Tools --> Alibaba Cloud Toolkit --> Preferences --> 左邊清單的 Alibaba Cloud Toolkit --> Docker,如下圖,設定本地 Docker 鏡像打包。

(三)部署應用

第一步:在 Intellij IDEA 中,如下圖點選:頂部菜單Tools --> Alibaba Cloud -->Deploy to ACR/ACK --> Deploy to ACR

第二步:設定 Image

•在 Image 标簽頁中,選擇本地應用程式的 Context Directory 和 Dockerfile (通常會根據您本地的應用工程自動識别并設定)。

•選擇容器鏡像服務的地域、命名空間和鏡像倉庫。

第三步:執行部署

點選 Run 按鈕之後,即可完成将本地 Docker 鏡像推送到 ACR 中去。

如何運用 CICD/雲原生應用傳遞鍊 實作持續內建與傳遞

ACR企業版的雲原生傳遞鍊在托管、傳遞、分發等方面進一步提升,曆經雙11大促,沉澱了雲原生應用萬節點協同的技術經驗。

目前支援容器鏡像、Helm Chart 兩類雲原生應用資産,并采用獨立網絡通路控制,可細粒度控制公網及VPC 網絡的通路政策,僅允許符合政策的來源方通路資産,保障通路安全。

同時實作了整個應用傳遞周期的流程自動化,開發者隻要一次變更應用,按照配置多場景傳遞,即可實作一次應用變更,全球化多場景自動傳遞。

在應用傳遞環節,ACR EE 支援自動發起靜态安全掃描并自定義配置安全阻斷政策。一旦識别到靜态應用中存在高危漏洞後,可自動阻斷後續部署鍊路。使用者可基于漏洞報告中的修複建議,更新優化建構成新的鏡像版本,再次發起傳遞。

建設 CICD 體系還需要考慮到整體穩定和盡可能不斷提升整體傳遞能力,比如監控報警、容錯容災、依賴治理、限流降級、容量規劃。這裡可以和大家分享 ACR 團隊的相關經驗:

•在依賴治理方面,要對雲原生應用傳遞鍊中相關重點環節及外部依賴進行統一管理,識别熱點倉庫及追蹤傳遞鍊執行結果;

•在限流降級方面,最好分析識别雲原生應用分發核心環節的主次業務功能,優先保障主要業務邏輯完成,次要業務邏輯可降級延後處理;

•在容量規劃方面,平台根據上下遊業務變化情況,對資源進行按需擴容,確定雲原生應用正常傳遞完成。

容器鏡像 ACR 與 插件 Cloud Toolkit 免費面向開發者,幫助技術人員提高開發、部署效率,在減少時間成本的同時提高了業務的品質,還有雙十一的頂級洪峰流量場景作為實踐案例,希望這篇文章能幫助到有需要的人,并通過相關文章快速上手,真正實作業務價值。

繼續閱讀