作者 | 倪超(银时) 阿里云开发者工具产品专家
**本文整理自 11 月 7 日社群分享,每月 2 场高质量分享,**[**点击加入**](https://yq.aliyun.com/go/articleRenderRedirect?url=http%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzNzYxNjAzMg%3D%3D%26amp%3Bmid%3D2247486796%26amp%3Bidx%3D2%26amp%3Bsn%3D92f50d7b073e2866d96d7fd0ae519196%26amp%3Bchksm%3Dfae50683cd928f959e80744061cb6b731cbe16dfadaf65f003a0772a06104b6385ddaf068d2d%26amp%3Bscene%3D21%23wechat_redirect)**社群。**
> **导读**: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:提升部署效率
============
![1](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS81NTk2MTA0MzFkZWVmNTc2NDBhNWQzNjQwMTE5NTk4ZmI2NjQ1OTI4LnBuZw?x-oss-process=image/format,png)
如上图所示,开发者本地编写的应用程序,在图形化界面上进行配置,即可持续便利的部署到任意服务器,或者阿里云的 ECS 服务器上;在 IDEA 或 Eclipse 中完成编码后,无须在 Maven 、Git 以及其他运维脚本和工具的之间切换,借助 Cloud Toolkit,在 IDE 的图形界面上选择一个或若干个实例,即可将应用程序部署至指定目录。
针对阿里云 EDAS 和 SAE 产品的开发者,我们也在插件上打通了本地应用程序和云端部署,在 IDE 中完成编码后,将项目工程关联上 EDAS 和 SAE 的应用,即可实现快速部署。
针对阿里云容器服务 Kubernetes 产品的开发者,我们也在插件上打通了本地应用程序和云端 Kubernetes 部署,在 IDE 中完成编码后,将项目工程关联上容器服务 Kubernetes,即可实现快速部署。
![2](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS85NGJhNTAxMmVlMWJmOGI0ODA3NWQ4Njk3MDI4NzJhMjFlZDJlOTBmLnBuZw?x-oss-process=image/format,png)
知识点 2:本地 Docker Image 打包和仓库推送工具
===============================
Cloud Toolkit 提供了图形化的 Docker Image 打包工具,能够帮助开发者即使在不熟悉 Docker 的情况下,也可以快速打包镜像,并推送到阿里云镜像仓库 ACR 。
![3](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS9iMzk0Yjc0NWNlMmRhMmZmNGY4YTc5N2YyZTg2MDNkY2E5YzlkYTczLnBuZw?x-oss-process=image/format,png)
知识点 3:内置终端 Terminal
===================
![4](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS8zM2RiZTJjNzUxMmUyNTk4Y2I1NzQ3NTI3MzI5MjNlMzgxZjg1NDY2LnBuZw?x-oss-process=image/format,png)
* IDE 内,开发者可以直接通过内置的终端 Terminal,快速登录远程服务器;
* 不仅仅用于阿里云服务器 ECS,所有支持标准 SSH 协议的机器都可以。
知识点 4:文件上传
==========
![5](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS8yMDJkODM0M2IwMzAyYTcxNDMzMTdmOTg4MmZiOGRmNzRhM2M1ZTAyLnBuZw?x-oss-process=image/format,png)
Cloud Toolkit 帮助开发者在 IDE 内,一键将本地或者远程 URL 文件上传到服务器指定目录下去,无需在各种 FTP、SCP 工具之间频繁切换。更为重要的是,文件上传完毕后,还支持命令执行,比如:文件解压缩、程序启动等。
* [立即点击下载](https://yq.aliyun.com/articles/673560)
* [官网](https://toolkit.aliyun.com/)
手把手 1:部署应用到服务器
==============
第一步:安装插件
--------
略过,请读者自行前往各个平台的插件市场下载「Alibaba Cloud Toolkit」。
第二步:添加服务器
---------
![6](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS80NTE4YmY3NWFmNzBjZGIzMDA1NDE1NmI0Mzk3ODczZWY4ODMwMmRiLnBuZw?x-oss-process=image/format,png)
上图所示,在菜单 `Tools - Alibaba Cloud - Alibaba Cloud View - Host` 中打开机器视图界面,如下图:
![7](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS9kNDI0MTE4YjYzMmMwZWVmYTc5Yzk5MDhhYmY5OTJiMWU2MjQxMTQ5LnBuZw?x-oss-process=image/format,png)
点击右上角 `Add Host` 按钮,出现添加机器界面:
![8](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS9kNmRhMGZiZDI0OTU0NzA4MDI0MThmNDFjNTQzZjFkZjNjMDMyNzc1LnBuZw?x-oss-process=image/format,png)
第三步:部署
------
![9](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS8zNmQwN2MzZGQwNDk2MzliNmYyNWI4OGE3NzNmMTA3NzczMjAxMTcxLnBuZw?x-oss-process=image/format,png)
在 IntelliJ IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 【**Alibaba Cloud - Deploy to Host...】**,会出现如下部署窗口:
![10](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS85NDZmNGI3ZTA0ZTIxYjUzY2M2ZGU2N2I1ZDg3ZTBlMjUxMTExOTEyLnBuZw?x-oss-process=image/format,png)
在 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)
![11](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS9jYTIyMWMxMjdiNTRiMzhkMWI3ZDAzMWZlMTg3ODQwMzViOWUyYTE4LnBuZw?x-oss-process=image/format,png)
设置本地 Docker 镜像打包:**顶部菜单 - Tools - Alibaba Cloud Toolkit - Preferences - Alibaba Cloud Toolkit - Docker**
![12](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS9hYWQ3ODYzNzI1YmQ4NmI0NDk4NzVlMzhkMDIzYzEwMTY3OGI5MDExLnBuZw?x-oss-process=image/format,png)
第二步:部署
------
![13](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS85YjE5NjUyZDNmMzMyNzJhNWNhYTg4ZmJmOGFmZTI4NThkYmMyMTYxLnBuZw?x-oss-process=image/format,png)
在 Intellij IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 **Alibaba Cloud - Deploy to CS Kubernetes...**,可会出现如下部署窗口。
### 设置说明 1
![14](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS80NTFiMjQ1MTRmNGY1ZTViZDgzOWI5Yjk2NjUzY2M4ODVmNjEwY2U0LnBuZw?x-oss-process=image/format,png)
* 在 Image 标签页中,选择本地应用程序的 Context Directory 和 Dockerfile(通常会根据您本地的应用工程自动识别并设置);
* 选择容器镜像服务的地域、命名空间和镜像仓库,然后单击 Container 标签页。
**说明**:如果您还没有镜像仓库,在对话框右上角单击 Create a new repository 跳转到容器镜像仓库创建镜像仓库。创建步骤请参考[容器镜像仓库文档](https://help.aliyun.com/product/60716.html)。
### 设置说明 2
![15](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS82OThiMDE2MDFlYzEzZjE4YjIzM2U1ZmIwNThlMTU1OGZiZTZkMjdhLnBuZw?x-oss-process=image/format,png)
在 Container 标签页,选择容器服务 Kubernetes 的 Clusters(集群)、Namespace(命名空间)和 Deployment(部署),以及其中指定的 Container(容器)。
**说明**:如果您还没有创建容器服务 Kubernetes 的 Deployment,在对话框右上角单击 Create a new Kubernetes deployment,跳转到容器服务 Kubernetes 控制台创建 Deployment。创建步骤请参考[容器服务 Kubernetes 版文档](https://help.aliyun.com/product/85222.html)。
点击 Run 按钮之后,即可完成本地应用程序向容器服务 Kubernetes 的部署。
![16](https://imgconvert.csdnimg.cn/aHR0cHM6Ly95cWZpbGUuYWxpY2RuLmNvbS83ZmNmNzdiMjNjOWNlZGRhNTE5NjBjNmIzYWNhYzg5ZDVhOTg5M2ZkLnBuZw?x-oss-process=image/format,png)
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](https://edu.aliyun.com/roadmap/cloudnative)
**Q7**:若 K8s 集群服务器宕机,请问如何快速恢复集群能力(除拉起 kubelet 等待其他组件自动拉起,是否还有其他方式)?
**A7**:配置 3master 高可用可降低宕机带来的损失,另外备份组件的配置文件。
**Q8**:Master 节点如果同时作为 node 节点,请问存在哪些风险?
**A8**:Master 节点不宜作为 node 节点部署应用,会导致集群不稳定。
**Q9**:请问老师,假设升级 K8s 集群版本,有什么地方需要注意的?另外升级过程各个组件先后顺序有要求吗?谢谢。
**A9**:做好各个组件的备份,一般先升级 master,再升级 worker。
[原文链接](https://yq.aliyun.com/articles/726539?utm_content=g_1000088569)
本文为云栖社区原创内容,未经允许不得转载。
分享到:
相关推荐
MybatisX是一款针对IntelliJ IDEA的高效Mybatis开发插件,它的主要目的是为了提高开发者的生产力,通过简化常见的Mybatis操作,如生成Mapper接口、XML配置文件以及Service层代码等,来加速项目的开发进程。...
【Idea React 模板插件】是一种专为IntelliJ IDEA(简称Idea)设计的扩展工具,它极大地提升了开发者在使用React框架时的工作效率。这个插件的目的是简化React项目的创建和管理,以及优化代码编辑体验。下面将详细...
"intellij idea"标签则明确指出是针对IntelliJ IDEA这款流行的Java开发工具的插件。 **压缩包子文件解析:** 1. **ideaPluginProject.iml**:这是IntelliJ IDEA项目文件,包含了项目的模块配置信息,如模块类型、...
EasyClick安卓8.3.5 IDEA插件,正是这样一款专为提升安卓应用程序开发效率而设计的强大工具。它集成了多种实用功能,旨在简化开发流程,加速测试与调试,让开发者能够更加专注于代码的创新和优化。 EasyClick安卓...
内容涵盖IDEA的下载安装、创建新项目、编写和运行代码、使用版本控制、使用Maven或Gradle、配置数据库、调试代码、使用插件、使用Terminal、使用Live Templates、代码自动完成、代码重构、代码片段、性能监控、云端...
IntelliJ IDEA是由JetBrains公司开发的一款现代化的Java集成开发环境,支持多种编程语言,包括但不限于Java、Kotlin、Scala等。它以优秀的代码补全、重构、调试和集成开发工具等特性闻名于开发者社区。 ### 安装与...
IntelliJ IDEA是一款由JetBrains公司开发的著名集成开发环境(IDE),尤其在Java开发者中广受欢迎。2019.2.4是其发布的一个版本号,这通常意味着在这个版本中,开发团队对软件进行了多方面的改进、修复了已知问题,...
标题 "Idea代码格式化配置及其插件.rar" 暗示了这是一个关于IntelliJ IDEA的资源包,其中包含了代码格式化配置和相关的插件。这个压缩包旨在帮助开发者统一代码风格,提高团队协作效率,确保代码的质量和可读性。 ...
IntelliJ Idea下Maven插件使用技巧 标签:Idea Maven IntelliJ Idea下Maven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家。
IntelliJ IDEA是一款深受开发者喜爱的Java集成开发环境,它以其强大的代码自动补全、智能分析和丰富的插件系统著称。在日常编程工作中,掌握IDEA的快捷键能够极大地提高开发效率,使得代码编写更加流畅。本压缩包...
- 联网状态下,IDEA会自动下载必要的资源,当看到“finished”提示后,表示项目已成功创建。 - 此后,在离线状态下也能正常创建带有完整目录结构的Maven项目。 #### 五、设置大小写不敏感代码补全 - **设置步骤*...
《超级网页视频下载器》是一款高效实用的工具,旨在帮助用户轻松下载网页中的视频内容。它不仅支持大多数网站,而且特别适用于网课视频的下载,极大地便利了学习者保存在线教育资源。这款下载器包含了插件和软件两种...
### IntelliJ IDEA插件开发基础知识详解 #### 约束条件与概述 在开始探讨IntelliJ IDEA插件开发的具体步骤之前,我们先来看...希望这些信息能够帮助你快速上手IntelliJ IDEA插件开发,开发出满足自己需求的强大工具。
贪吃蛇小游戏是一款经典的休闲游戏,它通过简单的规则和易上手的操作吸引了大量玩家。在本文中,我们将探讨如何使用 IntelliJ IDEA(简称IDEA),一个强大的Java集成开发环境,来开发这款经典游戏。 首先,我们需要...
价值百万的 idea安装 和 入门讲解 教程很详细 超级详细 只有你想不到没有里面没有的 瞧一瞧看一看
源泉设计cad插件(源泉建筑与装饰设计CAD工具箱) 是一款完全免费高效的专业cad插件,该建筑与装饰绘图辅助软件旨在于为用户打造了一个简单易用快捷而强大的制图环境,强化了Autocad“文字处理、尺寸标注、图层管理、...
"Shine插件"是一款专为Adobe After Effects(简称AE)设计的光效增强工具,它为用户提供了丰富的视觉特效,让视频制作更加生动和专业。这款插件无需注册号,便于用户免费下载和使用,使得更多的创意工作者能够轻松地...
IDEA(IntelliJ IDEA)是一款深受开发者喜爱的Java集成开发环境,它也支持通过安装插件来扩展对其他语言的支持,比如Scala。 标题中的"大数据开发工具包-插件工具-IDEA2017.3.5的scala插件"意味着这个压缩包提供了...
IntelliJ IDEA,通常简称为IDEA,是一款强大的Java集成开发环境,被广泛用于各种编程语言的开发。本文主要介绍了几个对于新手和刚上手IDEA的用户非常实用的调试技巧,帮助他们更快地掌握这款IDE的高效用法。 ### 一...
3DMAX一键复制粘贴插件是一款高效便捷的工具,专为3D Studio Max(3DSMAX)用户设计,极大地提升了在多个3D场景间复制和粘贴对象的效率。这款插件的核心功能在于简化了传统操作流程,使得在3DMAX中转移模型、纹理、...