带你上手一款下载超 10 万次的 IDEA 插件
作者 | 倪超(银时) 阿里云开发者工具产品专家
本文整理自 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:提升部署效率

如上图所示,开发者本地编写的应用程序,在图形化界面上进行配置,即可持续便利的部署到任意服务器,或者阿里云的 ECS 服务器上;在 IDEA 或 Eclipse 中完成编码后,无须在 Maven 、Git 以及其他运维脚本和工具的之间切换,借助 Cloud Toolkit,在 IDE 的图形界面上选择一个或若干个实例,即可将应用程序部署至指定目录。
针对阿里云 EDAS 和 SAE 产品的开发者,我们也在插件上打通了本地应用程序和云端部署,在 IDE 中完成编码后,将项目工程关联上 EDAS 和 SAE 的应用,即可实现快速部署。
针对阿里云容器服务 Kubernetes 产品的开发者,我们也在插件上打通了本地应用程序和云端 Kubernetes 部署,在 IDE 中完成编码后,将项目工程关联上容器服务 Kubernetes,即可实现快速部署。

知识点 2:本地 Docker Image 打包和仓库推送工具
Cloud Toolkit 提供了图形化的 Docker Image 打包工具,能够帮助开发者即使在不熟悉 Docker 的情况下,也可以快速打包镜像,并推送到阿里云镜像仓库 ACR 。

知识点 3:内置终端 Terminal

- IDE 内,开发者可以直接通过内置的终端 Terminal,快速登录远程服务器;
- 不仅仅用于阿里云服务器 ECS,所有支持标准 SSH 协议的机器都可以。
知识点 4:文件上传

Cloud Toolkit 帮助开发者在 IDE 内,一键将本地或者远程 URL 文件上传到服务器指定目录下去,无需在各种 FTP、SCP 工具之间频繁切换。更为重要的是,文件上传完毕后,还支持命令执行,比如:文件解压缩、程序启动等。
手把手 1:部署应用到服务器
第一步:安装插件
略过,请读者自行前往各个平台的插件市场下载「Alibaba Cloud Toolkit」。
第二步:添加服务器

上图所示,在菜单 Tools - Alibaba Cloud - Alibaba Cloud View - Host 中打开机器视图界面,如下图:

点击右上角 Add Host 按钮,出现添加机器界面:

第三步:部署

在 IntelliJ IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 【Alibaba Cloud - Deploy to Host...】,会出现如下部署窗口:

在 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)

设置本地 Docker 镜像打包:顶部菜单 - Tools - Alibaba Cloud Toolkit - Preferences - Alibaba Cloud Toolkit - Docker

第二步:部署

在 Intellij IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud - Deploy to CS Kubernetes...,可会出现如下部署窗口。
设置说明 1

在 Image 标签页中,选择本地应用程序的 Context Directory 和 Dockerfile(通常会根据您本地的应用工程自动识别并设置);
选择容器镜像服务的地域、命名空间和镜像仓库,然后单击 Container 标签页。
说明:如果您还没有镜像仓库,在对话框右上角单击 Create a new repository 跳转到容器镜像仓库创建镜像仓库。创建步骤请参考容器镜像仓库文档。
设置说明 2

在 Container 标签页,选择容器服务 Kubernetes 的 Clusters(集群)、Namespace(命名空间)和 Deployment(部署),以及其中指定的 Container(容器)。
说明:如果您还没有创建容器服务 Kubernetes 的 Deployment,在对话框右上角单击 Create a new Kubernetes deployment,跳转到容器服务 Kubernetes 控制台创建 Deployment。创建步骤请参考容器服务 Kubernetes 版文档。
点击 Run 按钮之后,即可完成本地应用程序向容器服务 Kubernetes 的部署。

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。
欢迎加入钉钉交流群

“阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”
带你上手一款下载超 10 万次的 IDEA 插件的更多相关文章
- 下载达 10 万次的 IDEA 插件,K8s 一键部署了解一下?
作者 | 铃儿响叮当 导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正"一键部署",提高开发部署效率,在 K ...
- [转帖]“腾百万”之后,腾讯的云操作系统VStation单集群调度达10万台
“腾百万”之后,腾讯的云操作系统VStation单集群调度达10万台 https://www.leiphone.com/news/201909/4BsKCJtvvUCEb66c.html 腾讯有超过1 ...
- 分享9款最新超酷HTML5/CSS3应用插件
新的一周开始了,小编继续要为大家分享实用超酷的HTML5应用,今天分享的这9款最新HTML5/CSS3应用你一定会很喜欢,一起来看看. 1.HTML5 Canvas模拟衣服撕扯动画 超级逼真 今天又要 ...
- 10款很好用的 jQuery 图片滚动插件
jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各种很酷的图片效果,它可以让的网站更具吸引力.这里收集了10款很好 ...
- HttpWatch汉化版带详细的使用教程下载
http://www.wocaoseo.com/thread-303-1-1.html HttpWatch是强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Coo ...
- 微软MSDN订阅用户已可提前手工下载Windows 10安装包
在Windows 10发布之夜,当全世界都在翘首以盼Windows 10免费发布推送的到来,MSDN订阅用户可以立马享受一项令人项目的特殊待遇:手工下载Windows 10完整安装包+免费使用的激活密 ...
- 四款超棒的jQuery数字化签名插件
在浏览器中,我们有很多方式来绘制生成签名效果,并且有很多很棒很智能的jQuery插件.数字化签名是未来的发展方向,正是这个原因我们这里收集并且推荐了四款超棒的jQuery数字化签名插件,希望大家喜欢! ...
- STM8不用手动复位进入自带Bootloader方法(串口下载)
源:STM8不用手动复位进入自带Bootloader方法(串口下载) STM8不用手动复位进入自带Bootloader方法(串口下载)除非STM8片子的空的,如果复位运行的是自带Bootloader, ...
- 带你开发一款给Apk中自动注入代码工具icodetools(完善篇)【申明:来源于网络】
带你开发一款给Apk中自动注入代码工具icodetools(完善篇)[申明:来源于网络] 带你开发一款给Apk中自动注入代码工具icodetools(完善篇):http://blog.csdn.net ...
随机推荐
- 我又不是你的谁--java instanceof操作符用法揭秘
背景故事 <曾经最美>是朱铭捷演唱的一首歌曲,由陈佳明填词,叶良俊谱曲,是电视剧<水晶之恋>的主题曲.歌曲时长4分28秒. 歌曲歌词: 看不穿你的眼睛 藏有多少悲和喜 像冰雪细 ...
- docker镜像制作必备技能
正文 使用过docker的都知道dockerfile,其用于定义制作镜像的流程,由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像.可参考往期文章学习:docker基础知识整理 ...
- PCA 算法核心:高维度向量向低维度投影
Principal Component Analysis:主成分分析 步骤 5 步: 1.去平均值,也就是将向量中每一项都减去各自向量的平均值 2.计算矩阵的方差,协方差,特征值, 3,.把特征值从大 ...
- Spring Boot 定时任务 @Scheduled
项目开发中经常需要执行一些定时任务,比如在每天凌晨,需要从 implala 数据库拉取产品功能活跃数据,分析处理后存入到 MySQL 数据库中.类似这样的需求还有许多,那么怎么去实现定时任务呢,有以下 ...
- CSS定位机制:浮动 float及清除浮动的常用方法
CSS的定位机制 1.普通流(标准流) 默认状态,元素自动从左往右,从上往下排列 块元素的特征: 独占一行 可以设置宽高 如果不设置宽度,宽度默认为容器的100% 常见的块元素:div p h1-h6 ...
- Kali桥接模式DHCP自动获取IP失败(VMware)
Kali桥接模式DHCP自动获取IP失败笔者用的是VMware运行Kali Linux,突然发现桥接模式无法上网,只能使用NAT模式.身为有一点点强迫症的人来说,这就很不爽了.于是马上切换为桥接模式, ...
- Echart:前端很好的数据图表展现工具+demo
官网: http://echarts.baidu.com/index.html 通过一个简单的小Demo介绍echart的使用:demo均亲测可以运行 demo1: 1.新建一个echarts.ht ...
- Java 根据权重获取数据 基础 极简 准确率高
package sl; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.ut ...
- Hystrix dashboard - Unable to connect to Command Metric Stream.
在使用boot 2.0.*以上版本 + cloud Finchley.RELEASE 查看仪表盘的时候会报错 Unable to connect to Command Metric Stream &l ...
- Java IO_001.File类--文件或文件夹相关操作
Java IO之File对象常用操作 File类:用于文件或文件夹或网址相关联的操作.可以关联或不关联文件(即关联不存在的文件).构造函数有: public File(String pathname) ...