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

news/2025/2/9 6:08:54 标签: 开发工具, 运维, java

为什么80%的码农都做不了架构师?>>>   hot3.png

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

作者: 中间件小哥
原文链接
本文为云栖社区原创内容,未经允许不得转载。

转载于:https://my.oschina.net/yunqi/blog/2994741


http://www.niftyadmin.cn/n/1840268.html

相关文章

不一定联发科!苹果5G基带尚未敲定:高通/Intel还有机会

据Digitimes报道,供应链消息人士称,尽管越来越多的猜测认为,苹果正在考虑从联发科处购买基带,以减少对高通的依赖,但这件事能否成行目前还有待观察。报道称,苹果尚未做出最终决定,因为两家公司要…

银行传统云平台的三大问题及解决方案

银行业已经开始尝试传统IT的云化,这一过程或将会在一段时间里逐步完成。要处理好银行原有IT系统向智能云平台的升级,并有效的应对新形势下银行互联网的需求,最有效的方式是对其现有的云基础设施进行容器化处理。这需要对银行业务及其IT系统的…

[BZOJ1877][SDOI2009]晨跑[最大流+费用流]

天数最多 长度最小 天数是流量&#xff0c;长度是费用 每个点拆成两个点限流1&#xff0c;就能保证只走一次 然后跑费用流 #include <bits/stdc.h> using namespace std; #define MP make_pair #define pb push_back #define read2(a, b) (read(a), read(b)) #define rea…

个人电脑上搭建OpenStack的实验室

现在OpenStack越来越成熟&#xff0c;对其感兴趣的人也越来越多&#xff0c;有些初学者苦于没有实验环境&#xff0c;对OpenStack的理解只能停留在官方文档层面&#xff0c;没有办法理论联系实践。我在刚开始接触的时候&#xff0c;也是这样一种状态&#xff0c;有些东西只看文…

MTK芯片资料分享,2018MTK芯片资料大全

MTK芯片资料分享&#xff0c;2018MTK芯片资料大全 估计想要MTK资料的人不在少数&#xff0c;然而小编却发现了这么一个论坛&#xff0c;叫做&#xff1a;闯客技术论坛。里边的MTK芯片型号资料居然有如此之多&#xff0c;而且还是我不想复制的情况下&#xff1a; MT2503 MT6737 …

国内OpenStack项目Core现状

经常有朋友问&#xff0c;国内大概有多少位OpenStack项目的Core。这个问题&#xff0c;现在其实不太好回答&#xff0c;如果需要准确统计的话。下面仅仅是一个大概估计&#xff0c;有遗漏的&#xff0c;希望朋友指出&#xff0c;我来补全。 现在OpenStack项目在 github.com/ope…

服务端开发学习路径图,心疼小哥哥们

关注微信公众号《小姐姐味道》获取更多&#xff5e;&#xff5e; 在github上看到一种图的表现形式很不错&#xff08;https://github.com/kamranahme... &#xff09;&#xff0c;迫不及待的自己做了一张:服务端开发学习路径图&#xff0c;表现力还是很强的。我们从选择一门开发…

高通芯片资料下载大全,这是一个资料下载论坛

上次发布了一篇MTK芯片资料分享&#xff0c;2018MTK芯片资料大全&#xff0c;现在再来更新一篇高通版本的。高通由于一些原因&#xff0c;其芯片资料更是难找&#xff0c;相信很多工程师er都有过刻骨铭心的经历&#xff0c;那么这篇文章&#xff0c;则会带来一点点的希望之光&a…