隨著互聯網時代的不斷發展,開發者可能會面臨這樣的困境:為瞭解決問題、提升開發效率而竭力研發出來的“創新”,似乎削弱了他們在公司的重要程度,甚至取代了他們原先的地位。比如,在雲原生時代,部分企業更願意選擇 K8s 來解決運維、彈性的問題,而不是組建一支需要耗費大量雇佣資金、管理資金的研發團隊。 對於 ...
隨著互聯網時代的不斷發展,開發者可能會面臨這樣的困境:為瞭解決問題、提升開發效率而竭力研發出來的“創新”,似乎削弱了他們在公司的重要程度,甚至取代了他們原先的地位。比如,在雲原生時代,部分企業更願意選擇 K8s 來解決運維、彈性的問題,而不是組建一支需要耗費大量雇佣資金、管理資金的研發團隊。
對於 K8s,它的價值在於不僅能幫助公司降低運維成本,同時還可以帶來彈性、敏捷、可移植能力,但是對於開發者而言,我們的價值不應該僅僅停留在能與 K8s 解決同樣的問題,而是從困境跳脫出來,思考如何更靈活、更高效地運用 K8s 這些 “能為你所用” 的東西,來提升自己的綜合技能。
涉及開發的技術人員,永遠繞不開的就是將應用部署到相應伺服器上,今天給大家講解,對於容器服務 K8s,怎麼實現真正“一鍵部署“,提高開發部署效率,在 K8s 的運用上做到快人一步。以下是本文提綱:
- 什麼是容器服務 K8s
- 如何實現”一鍵部署“到容器服務 K8s
- 如何實現”一鍵部署“到 host,開發部署提速 8 倍
一、 什麼是容器服務 K8s
容器服務 K8s 是基於原生 K8s 進行適配和增強,簡化集群的搭建和擴容等工作,提供高性能可伸縮的容器應用管理能力,支持企業級容器化應用的全生命周期管理,整合阿裡雲虛擬化、存儲、網路和安全能力,打造雲端最佳容器化應用運行環境。其中的核心功能為:
- 集群管理:靈活的地域和網路環境選擇,可以根據自己的需求,選擇不同的地域創建和刪除集群。
- 多種伺服器托管方式:支持授權容器服務創建雲伺服器加入到指定集群,支持將已購買的雲伺服器添加到指定集群。
- 一站式容器生命周期管理:包括網路、存儲、日誌、監控、調度、路由、許可權。
- 靈活擴展調度策略,輕鬆打通上下游交付流程:支持服務級別的親和性策略和橫向擴展、跨 AZ 高可用和災難恢復、集群和應用管理的 OpenAPI,輕鬆對接持續集成和私有部署系統。
二、如何實現”一鍵部署“到容器服務 K8s
提高開發部署的效率有很多種方法,今天給大家分享的是一款本地 IDE 插件——Cloud Toolkit,據說是開發者用得最多的插件之一,不僅能夠將代碼開發到最終部署這整個流程自動化,更是可以部署到任意伺服器 & 雲端(ECS、EDAS、K8s 和小程式雲等),而且附帶很多功能:Arthas 診斷、Dubbo工具、Terminal 終端、文件上傳和 MySQL 執行器等,最重要的一點是:免費!免費!免費!網上很多博客、技術網站、公眾號都有相關的測評,大家可以參考看看,或者自己安裝試用,一定要試用【一鍵部署】的功能!下麵介紹,如何藉助這個插件,將應用一鍵部署到容器服務 k8s 上。
(一)安裝插件
免費插件鏈接:https://www.aliyun.com/product/cloudtoolkit
(二)配置插件首選項
點擊:頂部菜單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 中,滑鼠右鍵項目工程名,在出現的菜單中點擊 Alibaba Cloud --> Deploy to CS Kubernetes...,出現如下部署視窗:
第一步:設置 Image
- 在 Image 標簽頁中,選擇本地應用程式的 Context Directory 和 Dockerfile (通常會根據您本地的應用工程自動識別並設置)。
- 選擇容器鏡像服務的地域、命名空間和鏡像倉庫,然後單擊 Container 標簽頁。
(說明:如果您還沒有鏡像倉庫,在對話框右上角單擊 Create a new repository 跳轉到容器鏡像倉庫創建鏡像倉庫,創建步驟請參考容器鏡像倉庫文檔。)
第二步:設置 Container
- 在 Container 標簽頁,選擇容器服務 Kubernetes 的 Deployment(部署)、Clusters(集群)和Namespace(命名空間) 。
- 選擇指定的 Container(容器)。
(說明:如果您還沒有創建容器服務 Kubernetes 的 Deployment,在對話框右上角單擊 Create a new Kubernetes deployment,跳轉到容器服務 Kubernetes 控制台創建 Deployment,創建步驟請參考容器服務 Kubernetes 版文檔。)
第三步:執行部署
點擊 Run 按鈕之後,即可完成本地應用程式向容器服務 Kubernetes 的部署。
三、如何實現”一鍵部署“到 host,開發部署提速 8 倍
這款插件可以將應用部署到 6 種伺服器上,分別是:
- Host (任意伺服器)
- ECS
- CS K8s
- EDAS(包括 EDAS for ECS Application & EDAS for K8s Application)
- Mini Program (小程式雲)
- SAE
下麵為大家詳細解說,如何將應用一鍵部署到 host。
第一步:添加伺服器
- 點擊:頂部菜單 Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host ,打開機器視圖界面,如下圖:
- 點擊:右上角 Add Host 按鈕,出現添加機器界面,如下圖,設置相關配置。
第二步:執行部署
在 IntelliJ IDEA 中,滑鼠右鍵項目工程名,在出現的菜單中點擊 Alibaba Cloud --> Deploy to Host...,會出現如下部署視窗,設置部署參數,然後單擊 Deploy,即可執行初次部署。
部署參數說明:
- Deploy File:部署文件包含兩種方式:
- Maven Build:如果當前工程採用 Maven 構建,可以使用 Cloud Toolkit 直接構建並部署。
- Upload File:如果當前工程並非採用 Maven 構建,或者本地已經存在打包好的部署文件,可以選擇並直接上傳本地的部署文件。
- Target Deploy host:在下拉列表中選擇 Tag,然後選擇要部署的伺服器。
- Deploy Location :輸入在 ECS 上部署路徑,如 /root/tomcat/webapps。
- Commond:輸入應用啟動命令,如 sh /root/restart.sh。表示在完成應用包的部署後,需要執行的命令 —— 對於 Java 程式而言,通常是一句 Tomcat 的啟動命令。
最後,希望今天推薦的插件能夠真正幫助大家提高開發部署的效率,提高對工具運用的能力,大家可安裝試用起來,有任何疑問都可以加入社群進行提問,聽說他們的客服也是一流,而且不定期有各種有獎活動/排位賽,最近就有 2 個中獎率較高的活動,點擊本鏈接在文末查看具體的活動詳情。
歡迎關註我的公眾號:程式猿DD,獲得獨家整理的學習資源和日常乾貨推送。
如果您對我的專題內容感興趣,也可以關註我的博客:didispace.com