隨著互聯(lián)網(wǎng)時代的不斷發(fā)展,開發(fā)者可能會面臨這樣的困境:為了解決問題蝶缀、提升開發(fā)效率而竭力研發(fā)出來的“創(chuàng)新”丹喻,似乎削弱了他們在公司的重要程度,甚至取代了他們原先的地位翁都。比如碍论,在云原生時代,部分企業(yè)更愿意選擇 K8s 來解決運維柄慰、彈性的問題鳍悠,而不是組建一支需要耗費大量雇傭資金税娜、管理資金的研發(fā)團隊。
對于 K8s藏研,它的價值在于不僅能幫助公司降低運維成本敬矩,同時還可以帶來彈性、敏捷蠢挡、可移植能力弧岳,但是對于開發(fā)者而言,我們的價值不應(yīng)該僅僅停留在能與 K8s 解決同樣的問題业踏,而是從困境跳脫出來禽炬,思考如何更靈活、更高效地運用 K8s 這些 “能為你所用” 的東西勤家,來提升自己的綜合技能腹尖。
涉及開發(fā)的技術(shù)人員,永遠繞不開的就是將應(yīng)用部署到相應(yīng)服務(wù)器上伐脖,今天給大家講解热幔,對于容器服務(wù) K8s,怎么實現(xiàn)真正“一鍵部署“讼庇,提高開發(fā)部署效率断凶,在 K8s 的運用上做到快人一步。以下是本文提綱:
- 什么是容器服務(wù) K8s
- 如何實現(xiàn)”一鍵部署“到容器服務(wù) K8s
- 如何實現(xiàn)”一鍵部署“到 host巫俺,開發(fā)部署提速 8 倍
一、 什么是容器服務(wù) K8s
容器服務(wù) K8s 是基于原生 K8s 進行適配和增強肿男,簡化集群的搭建和擴容等工作介汹,提供高性能可伸縮的容器應(yīng)用管理能力,支持企業(yè)級容器化應(yīng)用的全生命周期管理舶沛,整合阿里云虛擬化嘹承、存儲、網(wǎng)絡(luò)和安全能力如庭,打造云端最佳容器化應(yīng)用運行環(huán)境叹卷。其中的核心功能為:
- 集群管理:靈活的地域和網(wǎng)絡(luò)環(huán)境選擇,可以根據(jù)自己的需求坪它,選擇不同的地域創(chuàng)建和刪除集群骤竹。
- 多種服務(wù)器托管方式:支持授權(quán)容器服務(wù)創(chuàng)建云服務(wù)器加入到指定集群,支持將已購買的云服務(wù)器添加到指定集群往毡。
- 一站式容器生命周期管理:包括網(wǎng)絡(luò)蒙揣、存儲、日志开瞭、監(jiān)控懒震、調(diào)度罩息、路由、權(quán)限个扰。
- 靈活擴展調(diào)度策略瓷炮,輕松打通上下游交付流程:支持服務(wù)級別的親和性策略和橫向擴展、跨 AZ 高可用和災(zāi)難恢復(fù)递宅、集群和應(yīng)用管理的 OpenAPI娘香,輕松對接持續(xù)集成和私有部署系統(tǒng)。
二恐锣、如何實現(xiàn)”一鍵部署“到容器服務(wù) K8s
提高開發(fā)部署的效率有很多種方法茅主,今天給大家分享的是一款本地 IDE 插件——Cloud Toolkit,據(jù)說是開發(fā)者用得最多的插件之一土榴,不僅能夠?qū)⒋a開發(fā)到最終部署這整個流程自動化诀姚,更是可以部署到任意服務(wù)器 & 云端(ECS、EDAS玷禽、K8s 和小程序云等)赫段,而且附帶很多功能:Arthas 診斷、Dubbo工具矢赁、Terminal 終端糯笙、文件上傳和 MySQL 執(zhí)行器等,最重要的一點是:免費撩银!免費给涕!免費!網(wǎng)上很多博客额获、技術(shù)網(wǎng)站够庙、公眾號都有相關(guān)的測評,大家可以參考看看抄邀,或者自己安裝試用耘眨,一定要試用【一鍵部署】的功能!下面介紹境肾,如何借助這個插件剔难,將應(yīng)用一鍵部署到容器服務(wù) k8s 上。
(一)安裝插件
免費插件鏈接:https://www.aliyun.com/product/cloudtoolkit
(二)配置插件首選項
點擊:**頂部菜單Tools --> Alibaba Cloud Toolkit --> Preferences-->左邊列表的 Alibaba Cloud Toolkit--> Accounts 奥喻,出現(xiàn)如下界面偶宫,配置阿里云賬號的 AK 和 SK,即可完成首選項配置环鲤。(如果是子賬號读宙,則填寫子賬號的 AK 和 SK)
(三)設(shè)置本地 Docker 鏡像打包
點擊:頂部菜單Tools --> Alibaba Cloud Toolkit --> Preferences --> 左邊列表的 Alibaba Cloud Toolkit --> Docker,如下圖楔绞,設(shè)置本地 Docker 鏡像打包结闸。
(三)部署應(yīng)用
在 Intellij IDEA 中唇兑,鼠標(biāo)右鍵項目工程名,在出現(xiàn)的菜單中點擊 Alibaba Cloud --> Deploy to CS Kubernetes...桦锄,出現(xiàn)如下部署窗口:
第一步:設(shè)置 Image
- 在 Image 標(biāo)簽頁中扎附,選擇本地應(yīng)用程序的 Context Directory 和 Dockerfile (通常會根據(jù)您本地的應(yīng)用工程自動識別并設(shè)置)。
- 選擇容器鏡像服務(wù)的地域结耀、命名空間和鏡像倉庫留夜,然后單擊 Container 標(biāo)簽頁。
(說明:如果您還沒有鏡像倉庫图甜,在對話框右上角單擊 Create a new repository 跳轉(zhuǎn)到容器鏡像倉庫創(chuàng)建鏡像倉庫碍粥,創(chuàng)建步驟請參考容器鏡像倉庫文檔。)
第二步:設(shè)置 Container
- 在 Container 標(biāo)簽頁黑毅,選擇容器服務(wù) Kubernetes 的 Deployment(部署)嚼摩、Clusters(集群)和Namespace(命名空間) 。
- 選擇指定的 Container(容器)矿瘦。
(說明:如果您還沒有創(chuàng)建容器服務(wù) Kubernetes 的 Deployment枕面,在對話框右上角單擊 Create a new Kubernetes deployment,跳轉(zhuǎn)到容器服務(wù) Kubernetes 控制臺創(chuàng)建 Deployment缚去,創(chuàng)建步驟請參考容器服務(wù) Kubernetes 版文檔潮秘。)
第三步:執(zhí)行部署
點擊 Run 按鈕之后,即可完成本地應(yīng)用程序向容器服務(wù) Kubernetes 的部署易结。
三枕荞、如何實現(xiàn)”一鍵部署“到 host,開發(fā)部署提速 8 倍
這款插件可以將應(yīng)用部署到 6 種服務(wù)器上搞动,分別是:
- Host (任意服務(wù)器)
- ECS
- CS K8s
- EDAS(包括 EDAS for ECS Application & EDAS for K8s Application)
- Mini Program (小程序云)
- SAE
下面為大家詳細解說买猖,如何將應(yīng)用一鍵部署到 host。
第一步:添加服務(wù)器
- 點擊:頂部菜單 Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host 滋尉,打開機器視圖界面,如下圖:
- 點擊:右上角 Add Host 按鈕飞主,出現(xiàn)添加機器界面狮惜,如下圖,設(shè)置相關(guān)配置碌识。
第二步:執(zhí)行部署
在 IntelliJ IDEA 中碾篡,鼠標(biāo)右鍵項目工程名,在出現(xiàn)的菜單中點擊 Alibaba Cloud --> Deploy to Host...筏餐,會出現(xiàn)如下部署窗口开泽,設(shè)置部署參數(shù),然后單擊 Deploy魁瞪,即可執(zhí)行初次部署穆律。
部署參數(shù)說明:
- Deploy File:部署文件包含兩種方式:
- Maven Build:如果當(dāng)前工程采用 Maven 構(gòu)建惠呼,可以使用 Cloud Toolkit 直接構(gòu)建并部署。
- Upload File:如果當(dāng)前工程并非采用 Maven 構(gòu)建峦耘,或者本地已經(jīng)存在打包好的部署文件剔蹋,可以選擇并直接上傳本地的部署文件。
- Target Deploy host:在下拉列表中選擇 Tag辅髓,然后選擇要部署的服務(wù)器泣崩。
- Deploy Location :輸入在 ECS 上部署路徑,如 /root/tomcat/webapps洛口。
- Commond:輸入應(yīng)用啟動命令矫付,如 sh /root/restart.sh。表示在完成應(yīng)用包的部署后第焰,需要執(zhí)行的命令 —— 對于 Java 程序而言买优,通常是一句 Tomcat 的啟動命令。
最后樟遣,希望今天推薦的插件能夠真正幫助大家提高開發(fā)部署的效率而叼,提高對工具運用的能力,大家可安裝試用起來豹悬,有任何疑問都可以加入社群進行提問葵陵,聽說他們的客服也是一流,而且不定期有各種有獎活動/排位賽瞻佛,最近就有 2 個中獎率較高的活動脱篙,點擊本鏈接在文末查看具體的活動詳情。
歡迎關(guān)注我的公眾號:程序猿DD伤柄,獲得獨家整理的學(xué)習(xí)資源和日常干貨推送绊困。
如果您對我的專題內(nèi)容感興趣,也可以關(guān)注我的博客:didispace.com