Alibaba Cloud Toolkit(后文简称Cloud Toolkit)是一款开源的本地IDE插件,可以帮助开发者更高效地部署、测试、开发和诊断应用。本次实践将为您描述如何通过插件,将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、SAE、ACK、ACR和小程序云等)。

背景信息

最佳实践概述

本次最佳实践内容主要描述主流IDE通过安装插件的形式集成Cloud Toolkit,主要内容包括:
  • 通过IntelliJ IDEA安装Cloud Toolkit的例子详细描述集成过程。
  • 获取AK、SK的方式。
  • 在Cloud Toolkit插件工具上,联通需要应用到EDAS分布式应用服务的连接。
  • 使用Cloud Toolkit分别部署应用到EDAS的ECS和K8s集群。

最佳实践价值

本次最佳实践为您带来的Cloud Toolkit具有以下优点:
  • 与主流IDE及阿里云其他产品无缝集成,简化应用部署到服务器,尤其是阿里云服务器中的操作。
  • 其内嵌的Arthas程序诊断、Terminal Shell终端和MySQL执行器等工具可以帮助简化应用开发、测试和诊断的过程。
  • 打通不同环境应用,实现环境应用互通,可以容易的调试微服务应用及使用不同环境的数据复现问题。
  • 通过同时实现本地应用与远程EDAS服务上应用调用,方便在复杂的微服务环境中调试及查找和定位问题。

Cloud Toolkit部署方式

您只需要在第一次使用时在本地IDE上安装 Cloud Toolkit,即可快速部署Cloud Toolkit。以下步骤会通过自动化部署的方式完成:项目构建、SCP 上传部署包、制作Docker Image、登录机器、推送至镜像仓库。

部署图

软件环境

  • EDAS基于专有云企业版V3.9.0版本。
  • Spring Cloud框架基于Finchley.SR1版本。
  • EDAS注册中心Nacos为V1.1.3版本。
  • 目标Cloud Toolkit为2019.12.01版本。

步骤一 安装Cloud Toolkit插件

按照以下步骤在IntelliJ IDEA中安装Cloud Toolkit后,您可以将本地应用快速部署到阿里云ECS、EDAS、容器服务Kubernetes版和任意服务器中,还可以使用Cloud Toolkit提供的Arthas诊断、文件或文件夹上传、内置Terminal等功能。

  1. 在IntelliJ IDEA顶部菜单栏中选择File > Settings
  2. Settings页面的左侧导航栏中单击Plugins
  3. Plugins区域单击Marketplace
  4. 在搜索栏中输入Alibaba Cloud Toolkit。
  5. Search Results区域会出现Alibaba Cloud Toolkit,单击Install
    安装cloud
  6. 待下载、安装完成后,单击Restart IDE
    安装完成

步骤二 获取AccessKey配置Cloud Toolkit账户信息

使用Cloud Toolkit部署应用到云端时,需要调用阿里云的API,而调用API时需要使用访问密钥(AccessKey)进行云端身份验证。您可以按以下步骤操作获取AccessKey后在Cloud Toolkit中配置账户信息。

AccessKey包括AccessKey ID和AccessKey Secret。
  • AccessKey ID:用于标识用户。
  • AccessKey Secret:用于验证用户身份的密钥。AccessKey Secret必须保密。
  1. 登录Apsara Stack控制台。
  2. 在左侧导航栏中单击用户中心 > 部门管理
  3. 管理控制台页面选择相应的部门,单击获取accesskey,可以获取到该部门的云账号、AccessKey(AK)。
    说明 一级部门的专有云账号、AK为系统自动分配,下级部门使用一级部门
    获取AK
  4. 在IntelliJ IDEA菜单栏中选择File > Settings,在Settings页面左侧的导航栏中选择Alibaba Cloud Toolkit > Accounts
  5. Accounts页面中填入获取的AccessKey ID和AccessKey Secret。
    安装
  6. Settings对话框左侧的导航栏中选择Alibaba Cloud Toolkit > Appearance&Behavior > Endpoint,配置EDAS Endpoint。
  7. Settings对话框左侧的导航栏中选择Alibaba Cloud Toolkit > Docker,配置获取与镜像仓库连接的地址,并单击OK
    配置DOCKER

使用IntelliJ IDEA部署应用到ECS

您可以按照以下步骤在IntelliJ IDEA中使用Cloud Toolkit将应用部署到ECS。

  1. 在IntelliJ IDEA中打开您的工程。
  2. 右键单击您的应用工程名,在弹出的菜单中选择Alibaba Cloud > Deploy to ECS > EDAS for ECS Application
    EDAS for ECS Application
  3. EDAS for ECS Application页面设置部署参数,然后单击Run
    部署参数说明:
    • Deploy File:可选择Maven Build或Upload File。
    • Maven Build:若当前工程采用Maven构建,可以直接构建并部署。
    • Upload File:若当前工程不是采用Maven构建,或本地已存在部署文件的压缩包,则上传本地的部署文件即可。
    • Target Deploy ECS:在列表中选择目标地域,然后在地域中选择目标ECS实例。
    • Deploy Location:输入ECS上的部署路径。
    • Command:表示在完成应用包的部署后,需要执行的命令。通常是一句启动命令。
    构建应用有两种不同的方式可选。
    • 选择Maven Build方式来构建应用时,系统会默认添加一个Maven任务来构建部署包,在Deploy to EDAS对话框配置应用部署参数。Maven Build
    • 选择Upload File方式来构建应用时,选择上传war包或jar包,在Deploy to EDAS对话框配置应用部署参数。Upload File
  4. IntelliJ IDEA的Console区域会打印部署日志,可以根据日志信息检查部署结果。根据构建应用的方式不同,控制台日志有以下两种不同的反馈。
    • 若构建应用方式为Maven Build,则反馈日志为:部署结果2
    • 若构建应用方式为Upload File,则反馈日志为:反馈日志反馈日志2
  5. 完成部署后,可以在EDAS控制台查看部署结果。
    结果

使用IntelliJ IDEA部署应用到K8s集群

若您已使用阿里云容器服务K8s,可以按以下步骤使用Cloud Toolkit来快速部署应用到容器服务K8s。

  1. 设置用于打包本地镜像的 Docker 环境。
    1. 在IntelliJ IDEA工具栏单击Tools > Alibaba Cloud > Preferences...
    2. Settings 页面的左侧导航栏中单击Docker
    3. Docker 页面中设置可连接的 Docker 环境,包括本地和远程两种方式,然后单击OK
      • 本地 Docker 环境:
        • 如果您本地为 Mac 或 Linux 操作系统,选中Unix Socket,然后在 Location 文本框中输入unix:///var/run/docker.soc。
        • 如果您本地为 Windows 操作系统,选中Tcp Connection,然后在 URI 右侧文本框输入本地 Docker 的 URI,如http://127.0.0.1:2375。
      • 远程 Docker 环境:选中Tcp Connection,在 URI 右侧的文本框里输入远端的 Docker 环境的 URI(包括 IP 地址和端口),如 http://x.x.x.x:2375,并确保远程主机的 HTTP 服务开启。
  2. 开始部署应用。
    在 IntelliJ IDEA 页面左侧的 Project 中右键单击您的 Docker 应用工程名,在弹出的下拉菜单中选择Alibaba Cloud > Deploy to EDAS > EDAS for Kubernetes ApplicationEDAS for Kubernetes Application
  3. EDAS for Kubernetes Application对话框中进行配置。
    EDAS for Kubernetes Application
  4. 单击Run
  5. 部署开始后,IntelliJ IDEA 的 Console 区域会打印部署日志。您可以根据日志信息检查部署结果。
    部署结果
  6. 实例部署信息页签中,您可以看到版本变更的过程。
    部署结果1部署结果2