带你上手一款下载超 10 万次的 IDEA 插件
作者 | 倪超(銀時(shí)) 阿里云開(kāi)發(fā)者工具產(chǎn)品專家
本文整理自 11 月 7 日社群分享,每月 2 場(chǎng)高質(zhì)量分享,點(diǎn)擊加入社群。
導(dǎo)讀:Cloud Toolkit 是本地 IDE 插件,幫助開(kāi)發(fā)者更高效地開(kāi)發(fā)、測(cè)試、診斷并部署應(yīng)用。通過(guò)插件,可以將本地應(yīng)用一鍵部署到任意服務(wù)器,甚至云端(ECS、EDAS、Kubernetes 和 小程序云 等);并且還內(nèi)置了 Arthas 診斷、Dubbo工具、Terminal 終端、文件上傳和 MySQL 執(zhí)行器等工具。
Cloud Toolkit 功能清單
- 一鍵部署本地 IDE 內(nèi)項(xiàng)目到任意遠(yuǎn)程服務(wù)器
- 一鍵部署本地 IDE 內(nèi)項(xiàng)目到阿里云 EDAS、SAE 和 Kubernetes
- 本地 Docker Image 打包和倉(cāng)庫(kù)推送工具
- 遠(yuǎn)程服務(wù)器實(shí)時(shí)日志查看
- 阿里云小程序開(kāi)發(fā)工具
- 阿里云函數(shù)計(jì)算開(kāi)發(fā)工具
- 阿里云 RDS 內(nèi)置 SQL 執(zhí)行器
- 內(nèi)置 Terminal 終端
- 文件上傳
- Apache Dubbo 框架項(xiàng)目模板&代碼生成
- Java 程序診斷工具
- RPC 服務(wù)端云聯(lián)調(diào)
知識(shí)點(diǎn) 1:提升部署效率
如上圖所示,開(kāi)發(fā)者本地編寫的應(yīng)用程序,在圖形化界面上進(jìn)行配置,即可持續(xù)便利的部署到任意服務(wù)器,或者阿里云的 ECS 服務(wù)器上;在 IDEA 或 Eclipse 中完成編碼后,無(wú)須在 Maven 、Git 以及其他運(yùn)維腳本和工具的之間切換,借助 Cloud Toolkit,在 IDE 的圖形界面上選擇一個(gè)或若干個(gè)實(shí)例,即可將應(yīng)用程序部署至指定目錄。
針對(duì)阿里云 EDAS 和 SAE 產(chǎn)品的開(kāi)發(fā)者,我們也在插件上打通了本地應(yīng)用程序和云端部署,在 IDE 中完成編碼后,將項(xiàng)目工程關(guān)聯(lián)上 EDAS 和 SAE 的應(yīng)用,即可實(shí)現(xiàn)快速部署。
針對(duì)阿里云容器服務(wù) Kubernetes 產(chǎn)品的開(kāi)發(fā)者,我們也在插件上打通了本地應(yīng)用程序和云端 Kubernetes 部署,在 IDE 中完成編碼后,將項(xiàng)目工程關(guān)聯(lián)上容器服務(wù) Kubernetes,即可實(shí)現(xiàn)快速部署。
知識(shí)點(diǎn) 2:本地 Docker Image 打包和倉(cāng)庫(kù)推送工具
Cloud Toolkit 提供了圖形化的 Docker Image 打包工具,能夠幫助開(kāi)發(fā)者即使在不熟悉 Docker 的情況下,也可以快速打包鏡像,并推送到阿里云鏡像倉(cāng)庫(kù) ACR 。
知識(shí)點(diǎn) 3:內(nèi)置終端 Terminal
- IDE 內(nèi),開(kāi)發(fā)者可以直接通過(guò)內(nèi)置的終端 Terminal,快速登錄遠(yuǎn)程服務(wù)器;
- 不僅僅用于阿里云服務(wù)器 ECS,所有支持標(biāo)準(zhǔn) SSH 協(xié)議的機(jī)器都可以。
知識(shí)點(diǎn) 4:文件上傳
Cloud Toolkit 幫助開(kāi)發(fā)者在 IDE 內(nèi),一鍵將本地或者遠(yuǎn)程 URL 文件上傳到服務(wù)器指定目錄下去,無(wú)需在各種 FTP、SCP 工具之間頻繁切換。更為重要的是,文件上傳完畢后,還支持命令執(zhí)行,比如:文件解壓縮、程序啟動(dòng)等。
- 立即點(diǎn)擊下載
- 官網(wǎng)
手把手 1:部署應(yīng)用到服務(wù)器
第一步:安裝插件
略過(guò),請(qǐng)讀者自行前往各個(gè)平臺(tái)的插件市場(chǎng)下載「Alibaba Cloud Toolkit」。
第二步:添加服務(wù)器
上圖所示,在菜單?Tools - Alibaba Cloud - Alibaba Cloud View - Host?中打開(kāi)機(jī)器視圖界面,如下圖:
點(diǎn)擊右上角?Add Host?按鈕,出現(xiàn)添加機(jī)器界面:
第三步:部署
在 IntelliJ IDEA 中,鼠標(biāo)右鍵項(xiàng)目工程名,在出現(xiàn)的菜單中點(diǎn)擊 【Alibaba Cloud - Deploy to Host…】,會(huì)出現(xiàn)如下部署窗口:
在 Deploy to Host 對(duì)話框設(shè)置部署參數(shù),然后單擊 Deploy,即可執(zhí)行初次部署。
部署參數(shù)說(shuō)明
-
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)用啟動(dòng)命令,如 sh /root/restart.sh。表示在完成應(yīng)用包的部署后,需要執(zhí)行的命令 —— 對(duì)于 Java 程序而言,通常是一句 Tomcat 的啟動(dòng)命令。
手把手 2:部署應(yīng)用到容器服務(wù) Kubernetes
第一步:配置插件首選項(xiàng)
安裝完插件之后,按照路徑進(jìn)行首選項(xiàng)配置:頂部菜單 - Tools - Alibaba Cloud Toolkit - Preferences。
出現(xiàn)如下界面,配置阿里云賬號(hào)的 AK 和 SK,即可完成首選項(xiàng)配置。(如果是子賬號(hào),則填寫子賬號(hào)的 AK 和 SK)
設(shè)置本地 Docker 鏡像打包:頂部菜單 - Tools - Alibaba Cloud Toolkit - Preferences - Alibaba Cloud Toolkit - Docker
第二步:部署
在 Intellij IDEA 中,鼠標(biāo)右鍵項(xiàng)目工程名,在出現(xiàn)的菜單中點(diǎn)擊?Alibaba Cloud - Deploy to CS Kubernetes…,可會(huì)出現(xiàn)如下部署窗口。
設(shè)置說(shuō)明 1
-
在 Image 標(biāo)簽頁(yè)中,選擇本地應(yīng)用程序的 Context Directory 和 Dockerfile(通常會(huì)根據(jù)您本地的應(yīng)用工程自動(dòng)識(shí)別并設(shè)置);
-
選擇容器鏡像服務(wù)的地域、命名空間和鏡像倉(cāng)庫(kù),然后單擊 Container 標(biāo)簽頁(yè)。
說(shuō)明:如果您還沒(méi)有鏡像倉(cāng)庫(kù),在對(duì)話框右上角單擊 Create a new repository 跳轉(zhuǎn)到容器鏡像倉(cāng)庫(kù)創(chuàng)建鏡像倉(cāng)庫(kù)。創(chuàng)建步驟請(qǐng)參考容器鏡像倉(cāng)庫(kù)文檔。
設(shè)置說(shuō)明 2
在 Container 標(biāo)簽頁(yè),選擇容器服務(wù) Kubernetes 的 Clusters(集群)、Namespace(命名空間)和 Deployment(部署),以及其中指定的 Container(容器)。
說(shuō)明:如果您還沒(méi)有創(chuàng)建容器服務(wù) Kubernetes 的 Deployment,在對(duì)話框右上角單擊 Create a new Kubernetes deployment,跳轉(zhuǎn)到容器服務(wù) Kubernetes 控制臺(tái)創(chuàng)建 Deployment。創(chuàng)建步驟請(qǐng)參考容器服務(wù) Kubernetes 版文檔。
點(diǎn)擊 Run 按鈕之后,即可完成本地應(yīng)用程序向容器服務(wù) Kubernetes 的部署。
Q & A
Q1:K8s 各組件,比如 etcd,建議部署在容器內(nèi)還是物理機(jī)?有什么區(qū)別或者優(yōu)劣嗎?
A1:etcd 可以部署在容器里,物理機(jī)的話就是性能更好一點(diǎn)。
Q2:如果登錄是堡壘機(jī),并且是動(dòng)態(tài)密碼,那個(gè)配置保存必須要密碼,所以不方便吧!能動(dòng)態(tài)密碼登陸局域網(wǎng)服務(wù)器嗎?
A2:這是個(gè)非常好的建議,我們需要在后續(xù)的版本中開(kāi)發(fā)這些能力。
Q3:如何在本地電腦(如 mac )部署 K8s 玩玩,以及寫 Go 代碼增刪改查 K8s 資源,這塊有啥玩一玩的優(yōu)良經(jīng)驗(yàn)嘛?目的是想本地開(kāi)發(fā)測(cè)試 K8s,更加去熟悉 K8s 內(nèi)部機(jī)制。
A3:本地 mac 要玩 K8s 可以去搜一下 minikube。
Q4:K8s 網(wǎng)絡(luò)組件 calico 和自帶的 flannel,請(qǐng)問(wèn)建議采用哪一個(gè)?
A4:簡(jiǎn)單上手選 flannel,看重功能選 calico。
Q5:有哪些開(kāi)源的管理 K8s Web UI 軟件,這樣可以部署在公司內(nèi),所有團(tuán)隊(duì)直接在該軟件內(nèi)傻瓜式操作 K8s 資源,自己部署上線代碼?
A5:K8s 自帶的 dashboard 可以試試。
Q6:我想深入學(xué) K8s,但是 K8s 內(nèi)部使用了 etcd/coredns,以及監(jiān)控這塊使用 prometheus,這些技術(shù)是不是需要先深入學(xué)習(xí)下,再去深入學(xué)習(xí) K8s 呢?畢竟 K8s 太大了,一上來(lái)就深入會(huì)容易找不到門路,這塊大大有啥經(jīng)驗(yàn)沒(méi)?
A6:建議從 K8s 核心開(kāi)始學(xué)習(xí),再學(xué)習(xí)周邊組件,按照從中心到外圍的順序。推薦學(xué)習(xí)下阿里云和 CNCF 聯(lián)合開(kāi)發(fā)的免費(fèi)云原生技術(shù)公開(kāi)課。鏈接:https://edu.aliyun.com/roadmap/cloudnative
Q7:若 K8s 集群服務(wù)器宕機(jī),請(qǐng)問(wèn)如何快速恢復(fù)集群能力(除拉起 kubelet 等待其他組件自動(dòng)拉起,是否還有其他方式)?
A7:配置 3master 高可用可降低宕機(jī)帶來(lái)的損失,另外備份組件的配置文件。
Q8:Master 節(jié)點(diǎn)如果同時(shí)作為 node 節(jié)點(diǎn),請(qǐng)問(wèn)存在哪些風(fēng)險(xiǎn)?
A8:Master 節(jié)點(diǎn)不宜作為 node 節(jié)點(diǎn)部署應(yīng)用,會(huì)導(dǎo)致集群不穩(wěn)定。
Q9:請(qǐng)問(wèn)老師,假設(shè)升級(jí) K8s 集群版本,有什么地方需要注意的?另外升級(jí)過(guò)程各個(gè)組件先后順序有要求嗎?謝謝。
A9:做好各個(gè)組件的備份,一般先升級(jí) master,再升級(jí) worker。
歡迎加入釘釘交流群
“阿里巴巴云原生微信公眾號(hào)(ID:Alicloudnative)關(guān)注微服務(wù)、Serverless、容器、Service Mesh等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開(kāi)發(fā)者的技術(shù)公眾號(hào)。”
總結(jié)
以上是生活随笔為你收集整理的带你上手一款下载超 10 万次的 IDEA 插件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Knative Serving 健康检查
- 下一篇: 2684亿!阿里CTO张建锋:不是任何一