天天看點

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

作者 | 倪超(銀時) 阿裡雲開發者工具産品專家

本文整理自 11 月 7 日社群分享,每月 2 場高品質分享,

點選加入 社群。

導讀:Cloud Toolkit 是本地 IDE 插件,幫助開發者更高效地開發、測試、診斷并部署應用。通過插件,可以将本地應用一鍵部署到任意伺服器,甚至雲端(ECS、EDAS、Kubernetes 和 小程式雲 等);并且還内置了 Arthas 診斷、Dubbo工具、Terminal 終端、檔案上傳和 MySQL 執行器等工具。

Cloud Toolkit 功能清單

  • 一鍵部署本地 IDE 内項目到任意遠端伺服器
  • 一鍵部署本地 IDE 内項目到阿裡雲 EDAS、SAE 和 Kubernetes
  • 本地 Docker Image 打包和倉庫推送工具
  • 遠端伺服器實時日志檢視
  • 阿裡雲小程式開發工具
  • 阿裡雲函數計算開發工具
  • 阿裡雲 RDS 内置 SQL 執行器
  • 内置 Terminal 終端
  • 檔案上傳
  • Apache Dubbo 架構項目模闆&代碼生成
  • Java 程式診斷工具
  • RPC 服務端雲聯調

知識點 1:提升部署效率

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

如上圖所示,開發者本地編寫的應用程式,在圖形化界面上進行配置,即可持續便利的部署到任意伺服器,或者阿裡雲的 ECS 伺服器上;在 IDEA 或 Eclipse 中完成編碼後,無須在 Maven 、Git 以及其他運維腳本和工具的之間切換,借助 Cloud Toolkit,在 IDE 的圖形界面上選擇一個或若幹個執行個體,即可将應用程式部署至指定目錄。

針對阿裡雲 EDAS 和 SAE 産品的開發者,我們也在插件上打通了本地應用程式和雲端部署,在 IDE 中完成編碼後,将項目工程關聯上 EDAS 和 SAE 的應用,即可實作快速部署。

針對阿裡雲容器服務 Kubernetes 産品的開發者,我們也在插件上打通了本地應用程式和雲端 Kubernetes 部署,在 IDE 中完成編碼後,将項目工程關聯上容器服務 Kubernetes,即可實作快速部署。

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

知識點 2:本地 Docker Image 打包和倉庫推送工具

Cloud Toolkit 提供了圖形化的 Docker Image 打包工具,能夠幫助開發者即使在不熟悉 Docker 的情況下,也可以快速打包鏡像,并推送到阿裡雲鏡像倉庫 ACR 。

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

知識點 3:内置終端 Terminal

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A
  • IDE 内,開發者可以直接通過内置的終端 Terminal,快速登入遠端伺服器;
  • 不僅僅用于阿裡雲伺服器 ECS,所有支援标準 SSH 協定的機器都可以。

知識點 4:檔案上傳

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

Cloud Toolkit 幫助開發者在 IDE 内,一鍵将本地或者遠端 URL 檔案上傳到伺服器指定目錄下去,無需在各種 FTP、SCP 工具之間頻繁切換。更為重要的是,檔案上傳完畢後,還支援指令執行,比如:檔案解壓縮、程式啟動等。

手把手 1:部署應用到伺服器

第一步:安裝插件

略過,請讀者自行前往各個平台的插件市場下載下傳「Alibaba Cloud Toolkit」。

第二步:添加伺服器

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

上圖所示,在菜單 

Tools - Alibaba Cloud - Alibaba Cloud View - Host

 中打開機器視圖界面,如下圖:

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

點選右上角 

Add Host

 按鈕,出現添加機器界面:

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

第三步:部署

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

在 IntelliJ IDEA 中,滑鼠右鍵項目工程名,在出現的菜單中點選 【Alibaba Cloud - Deploy to Host...】,會出現如下部署視窗:

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

在 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:部署應用到容器服務 Kubernetes

第一步:配置插件首選項

安裝完插件之後,按照路徑進行首選項配置:頂部菜單 - Tools - Alibaba Cloud Toolkit - Preferences。

出現如下界面,配置阿裡雲賬号的 AK 和 SK,即可完成首選項配置。(如果是子賬号,則填寫子賬号的 AK 和 SK)

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

設定本地 Docker 鏡像打包:頂部菜單 - Tools - Alibaba Cloud Toolkit - Preferences - Alibaba Cloud Toolkit - Docker

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

第二步:部署

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

在 Intellij IDEA 中,滑鼠右鍵項目工程名,在出現的菜單中點選 Alibaba Cloud - Deploy to CS Kubernetes...,可會出現如下部署視窗。

設定說明 1

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A
  • 在 Image 标簽頁中,選擇本地應用程式的 Context Directory 和 Dockerfile(通常會根據您本地的應用工程自動識别并設定);
  • 選擇容器鏡像服務的地域、命名空間和鏡像倉庫,然後單擊 Container 标簽頁。

說明:如果您還沒有鏡像倉庫,在對話框右上角單擊 Create a new repository 跳轉到容器鏡像倉庫建立鏡像倉庫。建立步驟請參考

容器鏡像倉庫文檔

設定說明 2

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

在 Container 标簽頁,選擇容器服務 Kubernetes 的 Clusters(叢集)、Namespace(命名空間)和 Deployment(部署),以及其中指定的 Container(容器)。

說明:如果您還沒有建立容器服務 Kubernetes 的 Deployment,在對話框右上角單擊 Create a new Kubernetes deployment,跳轉到容器服務 Kubernetes 控制台建立 Deployment。建立步驟請參考

容器服務 Kubernetes 版文檔

點選 Run 按鈕之後,即可完成本地應用程式向容器服務 Kubernetes 的部署。

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A

Q & A

Q1:K8s 各元件,比如 etcd,建議部署在容器内還是實體機?有什麼差別或者優劣嗎?

A1:etcd 可以部署在容器裡,實體機的話就是性能更好一點。

Q2:如果登入是堡壘機,并且是動态密碼,那個配置儲存必須要密碼,是以不友善吧!能動态密碼登陸區域網路伺服器嗎?

A2:這是個非常好的建議,我們需要在後續的版本中開發這些能力。

Q3:如何在本地電腦(如 mac )部署 K8s 玩玩,以及寫 Go 代碼增删改查 K8s 資源,這塊有啥玩一玩的優良經驗嘛?目的是想本地開發測試 K8s,更加去熟悉 K8s 内部機制。

A3:本地 mac 要玩 K8s 可以去搜一下 minikube。

Q4:K8s 網絡元件 calico 和自帶的 flannel,請問建議采用哪一個?

A4:簡單上手選 flannel,看重功能選 calico。

Q5:有哪些開源的管理 K8s Web UI 軟體,這樣可以部署在公司内,所有團隊直接在該軟體内傻瓜式操作 K8s 資源,自己部署上線代碼?

A5:K8s 自帶的 dashboard 可以試試。

Q6:我想深入學 K8s,但是 K8s 内部使用了 etcd/coredns,以及監控這塊使用 prometheus,這些技術是不是需要先深入學習下,再去深入學習 K8s 呢?畢竟 K8s 太大了,一上來就深入會容易找不到門路,這塊大大有啥經驗沒?

A6:建議從 K8s 核心開始學習,再學習周邊元件,按照從中心到外圍的順序。推薦學習下阿裡雲和 CNCF 聯合開發的免費雲原生技術公開課。連結:

https://edu.aliyun.com/roadmap/cloudnative

Q7:若 K8s 叢集伺服器當機,請問如何快速恢複叢集能力(除拉起 kubelet 等待其他元件自動拉起,是否還有其他方式)?

A7:配置 3master 高可用可降低當機帶來的損失,另外備份元件的配置檔案。

Q8:Master 節點如果同時作為 node 節點,請問存在哪些風險?

A8:Master 節點不宜作為 node 節點部署應用,會導緻叢集不穩定。

Q9:請問老師,假設更新 K8s 叢集版本,有什麼地方需要注意的?另外更新過程各個元件先後順序有要求嗎?謝謝。

A9:做好各個元件的備份,一般先更新 master,再更新 worker。

歡迎加入釘釘交流群

帶你上手一款下載下傳超 10 萬次的 IDEA 插件Cloud Toolkit 功能清單知識點 1:提升部署效率知識點 2:本地 Docker Image 打包和倉庫推送工具知識點 3:内置終端 Terminal知識點 4:檔案上傳手把手 1:部署應用到伺服器手把手 2:部署應用到容器服務 KubernetesQ & A
“阿裡巴巴雲原生微信公衆号(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術公衆号。”