百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

「阿里出品」10万程序员都在使用的 IDEA 插件,K8s 一键部署

bigegpt 2024-10-14 08:16 5 浏览

作者 | 铃儿响叮当

原文链接:https://www.cnblogs.com/alisystemsoftware/p/11765048.html

导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正“一键部署”,提高开发部署效率,在 K8s 的运用上做到快人一步。

随着互联网时代的不断发展,开发者可能会面临这样的困境:为了解决问题、提升开发效率而竭力研发出来的“创新”,似乎削弱了他们在公司的重要程度,甚至取代了他们原先的地位。

比如,在云原生时代,部分企业更愿意选择 K8s 来解决运维、弹性的问题,而不是组建一支需要耗费大量雇佣资金、管理资金的研发团队。

对于 K8s,它的价值在于不仅能帮助公司降低运维成本,同时还可以带来弹性、敏捷、可移植能力。

但是对于开发者而言,我们的价值不应该仅仅停留在能与 K8s 解决同样的问题,而是从困境跳脱出来,思考如何更灵活、更高效地运用 K8s 这些 “能为你所用” 的东西,来提升自己的综合技能。

什么是容器服务 ACK

容器服务 ACK 是基于原生 K8s 进行适配和增强,简化集群的搭建和扩容等工作,提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。

其中的核心功能为:

  • 集群管理:灵活的地域和网络环境选择,可以根据自己的需求,选择不同的地域创建和删除集群;
  • 多种服务器托管方式:支持授权容器服务创建云服务器加入到指定集群,支持将已购买的云服务器添加到指定集群;
  • 一站式容器生命周期管理:包括网络、存储、日志、监控、调度、路由、权限;
  • 灵活扩展调度策略,轻松打通上下游交付流程:支持服务级别的亲和性策略和横向扩展、跨 AZ 高可用和灾难恢复、集群和应用管理的 OpenAPI,轻松对接持续集成和私有部署系统。

如何实现“一键部署”到容器服务 ACK

提高开发部署的效率有很多种方法,今天给大家分享的是一款本地 IDE 插件 —— Cloud Toolkit,据说是开发者用得最多的插件之一。

它不仅能够将代码开发到最终部署这整个流程自动化,更是可以部署到任意服务器 & 云端(ECS、EDAS、K8s 和小程序云等),而且附带很多功能:Arthas 诊断、Dubbo 工具、Terminal 终端、文件上传和 MySQL 执行器等,最重要的一点是:免费!免费!免费!网上很多博客、技术网站、公众号都有相关的测评,大家可以参考看看,或者自己安装试用,一定要试用【一键部署】的功能!

下面介绍,如何借助这个插件,将应用一键部署到容器服务 ACK 上。

(一)安装插件

点击链接即可免费下载插件:https://www.aliyun.com/product/cloudtoolkit

(二)配置插件首选项

点击:顶部菜单 Tools --> Alibaba Cloud Toolkit --> Preferences--> 左边列表的 Alibaba Cloud Toolkit--> Accounts 。

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

(三)设置本地 Docker 镜像打包

点击:顶部菜单 Tools --> Alibaba Cloud Toolkit --> Preferences --> 左边列表的 Alibaba Cloud Toolkit --> Docker。

如下图,设置本地 Docker 镜像打包。

(四)部署应用

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

第一步:设置 Image

  • 在 Image 标签页中,选择本地应用程序的 Context Directory 和 Dockerfile (通常会根据您本地的应用工程自动识别并设置);
  • 选择容器镜像服务 ACR 的地域、命名空间和镜像仓库,然后单击 Container 标签页。

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

第二步:设置 Container

  • 在 Container 标签页,选择容器服务 ACK 的 Deployment(部署)、Clusters(集群)和 Namespace(命名空间);
  • 选择指定的 Container(容器)。

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

第三步:执行部署

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

如何实现”一键部署“到 host,开发部署提速 8 倍!

这款插件可以将应用部署到 6 种服务器上,分别是:

  • Host (任意服务器)
  • ECS
  • CS K8s
  • EDAS(包括 EDAS for ECS Application & EDAS for K8s Application)
  • Mini Program (小程序云)
  • SAE

下面为大家详细解说,如何将应用一键部署到 host。

第一步:添加服务器

  • 点击:顶部菜单 Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host ,打开机器视图界面,如下图:
  • 点击:右上角 Add Host 按钮,出现添加机器界面,如下图,设置相关配置。

第二步:执行部署

在 IntelliJ IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud --> 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 的启动命令。

最后,希望今天推荐的插件能够真正帮助大家提高开发部署的效率,提高对工具运用的能力,大家可以安装试用起来,有任何疑问都可以加入社群进行提问。

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...