当前位置: 首页 > news >正文

如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...

image

前言

在之前的一篇文章中,我们介绍了 如何将一个本地的 Java 应用程序直接部署到阿里云 ECS ,有不少读者反馈,如果目前已经在使用阿里云容器服务 Kubernetes 了,那该如何配合这个插件部署应用呢?在本文中,我们来介绍 部署应用程序到阿里云容器服务 Kubernetes 。

关于容器服务 Kubernetes

容器服务 Kubernetes 版提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。(摘自阿里云容器服务 Kubernetes 官网

本地开发

本文采用一个极其基础的样例《在 Web 页面打印 HelloWorld 的 Java Servlet 》为例,做代码工程的参考。

image

public class IndexServlet extends HttpServlet {
    private static final long serialVersionUID = -112210702214857712L;

    @Override
    public void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        //Demo:通过 Cloud Toolkit ,高效的将本地应用程序代码修改,部署到云上。
        writer.write("Deploy from Alibaba Cloud Toolkit. 2018-12-17");
        return;
    }
    @Override
    protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
        return;
    }}

源代码下载

上述代码就是一个标准的 Java 工程,用于在 Web 页面上打印一串“Hello World”的文案。

编写一个 Dockerfile 文件(下载),放置于工程根目录下

FROM tomcat:8.5.34-jre8
COPY target/javademo.war /usr/local/tomcat/webapps/

安装插件

阿里云提供了基于 Intellij IDEA 的插件,以方便开发人员能够高效的将本地 IDE 中编写的应用程序,极速部署到 容器服务 Kubernetes 中去。
插件主页:https://www.aliyun.com/product/cloudtoolkit

阿里云的这个 Intellij IDEA 插件的安装过程,和普通的插件大同小异,这里不再赘述,读者请自行安装。

配置插件首选项

安装完插件之后,按照如下路径进行首选项配置

顶部菜单 - Tools - Alibaba Cloud Toolkit - Preferences

出现如下界面,配置阿里云账号的 AK 和 SK,即可完成首选项配置。(如果是子账号,则填写子账号的 AK 和 SK)

image

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

image

部署

image

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

第 1 步

image

在 Image 标签页中,选择本地应用程序的 Context Directory 和 Dockerfile (通常会根据您本地的应用工程自动识别并设置);

选择容器镜像服务的地域、命名空间和镜像仓库,然后单击 Container 标签页。

说明:如果您还没有镜像仓库,在对话框右上角单击 Create a new repository 跳转到容器镜像仓库创建镜像仓库。创建步骤请参考容器镜像仓库文档。

第 2 步

image

在 Container 标签页,选择容器服务 Kubernetes 的 Clusters(集群)、Namespace(命名空间)和 Deployment(部署),以及其中指定的 Container(容器)。

说明:如果您还没有创建容器服务 Kubernetes 的 Deployment,在对话框右上角单击 Create a new Kubernetes deployment,跳转到容器服务-Kubernetes 控制台创建 Deployment。创建步骤请参考容器服务 Kubernetes 版文档。

点击 Run 按钮之后,即可完成本地应用程序向容器服务 Kubernetes 的部署。

image

开发者交流群

5685e931e06cd61faa41dee0ad46bf251fe56837

阿里云开发者工具交流 钉钉群




相关文章:

  • vue css 模块化编程 CSS Modules Scoped
  • java动态代理
  • 【Zabbix-SNMPtrap】列举一个常见使用Zabbix的SNMP trap监控设备的例子
  • javascrip 对数组的操作方法
  • [人间也值得] - Mryang带你快速入门第一个 Python 程序
  • Python自定义异常及抛出异常
  • ES6 - 数组扩展
  • 戴尔服务器使用omreport(OMSA)查看监控硬件信息
  • 处理SQL Server中的重复行
  • 互联网视频直播技术(广电总局、优酷土豆、XX直播)
  • Zookeeper Clustered (Multi-Server) Deployment
  • 孤儿进程 僵尸进程 守护进程及wait函数详解
  • 利用Java反射机制实现对象相同字段的复制
  • Markdown基本语法
  • 浅探前端图片优化
  • Docker: 容器互访的三种方式
  • EOS是什么
  • Git的一些常用操作
  • happypack两次报错的问题
  • Java多线程(4):使用线程池执行定时任务
  • react 代码优化(一) ——事件处理
  • SQL 难点解决:记录的引用
  • tweak 支持第三方库
  • Vue.js-Day01
  • webgl (原生)基础入门指南【一】
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 使用 @font-face
  • 小程序测试方案初探
  • 小程序开发中的那些坑
  • 写代码的正确姿势
  • 一些css基础学习笔记
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #传输# #传输数据判断#
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C++17) std算法之执行策略 execution
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (排序详解之 堆排序)
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Project Open Day(2011.11.13)
  • .Net Winform开发笔记(一)
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .Net7 环境安装配置
  • .NET的数据绑定
  • .net连接oracle数据库
  • .net实现客户区延伸至至非客户区