作者 | 倪超(银时) 阿里云开发者工具产品专家

本文整理自 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 插件相关推荐

  1. 下载达 10 万次的 IDEA 插件,K8s 一键部署了解一下?

    作者 | 铃儿响叮当 导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正"一键部署",提高开发部署效率,在 K ...

  2. 单日课程超10万节!VIPKID 如何通过实时计算提升上课体验?

    行业解决方案.产品招募中!想赚钱就来传!>>> 摘要:对于以互联网形式的在线教育来说,实时计算应用的场景非常之多,如何通过数据计算来更快.更高效地反馈学习效果保证课程质量是在线教育领 ...

  3. 共享单车数据集超10万条

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 共享单车数据集,包括骑行时间.会员骑行时间.会员类型.骑行路线类别.开始时间.结束时间.开始站 ...

  4. 要闻君说:印度公司要在京沪建立数据中心;超 10 万个 GitHub 仓库可泄漏 API 令牌及密钥...

    关注并标星星CSDN云计算 每周三次,打卡即read 更快.更全了解泛云圈精彩news go go go  再次中国行,库克参观故宫(图片来源网络) [3月25日 星期一]云の声音 未来5G对于庞大的 ...

  5. 12岁儿童手游充值超10万,“氪金”容易退款难如何破

    12岁儿童手游充值超10万,"氪金"容易退款难如何破 数据显示,疫情以来未成年人游戏充值的投诉量达近一年来峰值:但监护人申请退款却面临操作繁琐.客服难联系.如何认定充值是未成年人所 ...

  6. 腾讯人均每月薪酬成本超8万元,员工总数首次超10万

    11月10日,腾讯在23岁"生日"即将到来之际发布2021年第三季度业绩报告.财报显示,第三季度腾讯总收入为人民币1424亿元(220亿美元 ),同比增长13%:净利润(Non-I ...

  7. 互联网日报 | 1月18日 星期一 | 北京超10万滴滴司机预约接种疫苗;李子柒入驻饿了么;蔚来计划2021年在海外实现销售...

    今日看点 ✦ 滴滴出行:北京超10万滴滴司机预约接种疫苗,4万余名司机完成接种 ✦ 高德打车北京升级疫情防控措施,要求合作平台完成驾驶员全员接种疫苗 ✦ 春运期间防疫健康码全国互认.一码通行,百度AP ...

  8. 微信喊你来找工作:上千家企业将提供超10万个就业岗位

    6月8日至14日,在人力资源和社会保障部就业促进司的指导下,微信与脉脉.猎聘.58同城等招聘平台及京东.美团.同程旅行.丁香园等企业联合举办微信生态招聘专场,上千家企业将提供超10万个就业岗位. 据了 ...

  9. 联合国超10万名员工记录遭泄露

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士团队 道德 hacking 和安全研究组织 Sakura Samurai 的研究员披露了一个漏洞,可被用于访问联合国环境规划署 (UNEP) 超过 ...

最新文章

  1. Python到底是什么样的语言? Python和Java比谁更快? TensorFlow的主体是用Python写的吗?
  2. PouchContainer 发布 0.3.0 版本,支持 Kubernetes 拥抱 CNCF 生态
  3. 领英2017报告:机器学习、大数据工程师成为最热门的新兴职业
  4. 使用Capture画原理图
  5. (JAVA)Map集合
  6. linux 日记函数,每日记一些php函数,jQuery函数和linux命令(一)
  7. 旅游流的概念_2020年去张家界凤凰古城旅游亲身体验经历分享——实用攻略(图文)...
  8. 从输入URL到页面渲染完成 -戈多编程
  9. Git 报错fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem bounda
  10. servlet 单例问题
  11. paip.php的调试--attilax总结
  12. VSCode安装教程(超详细)
  13. 笔记本电脑插耳机后耳机无声音有外放情况,咋办??
  14. 彻底搞懂CSS层叠上下文、层叠等级、层叠顺序、z-index
  15. 要不要升级到iOS16?iOS16有什么缺点?
  16. php实现加密解密,PHP实现的加密解密处理类
  17. wincap4.11在vc6下编译出现_W64错误
  18. 各种水龙头拆卸图解_各种水龙头拆卸图解 蜜罐蚁小编带您了解水龙头拆卸方法...
  19. 把PDF转换成图片,大家都这么做
  20. Win10-1809 离线安装 .net framework 3.5

热门文章

  1. 2、HTML <img>标签(插入图片)
  2. 1.13 实例:用户修改密码
  3. 使用request对象进行数据传递
  4. 深度优先搜索(DFS)相关习题
  5. Mybatis查询可能为null
  6. MySQL带LIKE关键字的查询
  7. sdk版本过低怎么办_滴滴ElasticSearch平台跨版本升级以及平台重构之路
  8. 【排序】几种简单的排序(冒泡、选择、插入)(一)
  9. 从大学入门到研究生拿大厂offer,必须看的数据结构与算法书籍推荐,不好不推荐!
  10. struts2教程(2)--配置