2.部署篇(开发部署)

本文涉及的产品
RDS AI 助手,专业版
PolarDB Agent Express,2核4GB
PolarDB Agent Flow,2核4GB
简介: 本文介绍如何将SpringCloud应用部署至云端Kubernetes集群。通过EDAS导入ACK集群,初始化应用环境,利用IDE插件快速上传war/jar包部署,提升开发效率。后续将讲解运维视角下的自动化发布流程。(236字)

导读:在上一篇文章《SpringCloud 应用在 Kubernetes 上的云上实践 - 开发篇》中讲到可以通过两个工具,轻松地将一个 SpringCloud 应用从初始化到本地运行。本篇文章,我们将介绍如何将上一篇文章中提到的应用在云上跑起来。
初始化集群
为了将应用运行在云端,首先我们需要一个 Kubernetes 集群,在 EDAS 中使用 Kubernetes 集群目前最快的方式,是将一个阿里云容器集群中的 Kubernetes 集群( ACK 集群 ),导入到 EDAS 中来。
如果还没有ACK集群的话,您可以通过以下两种方式来创建一个:
直接进入容器服务的控制台进行创建;
如果您已经有一个在云上建好的集群,或者有一个在其他 IDC 或友商中有的集群,也可以在容器服务这边通过“注册已有集群”的方式,导入到容器服务中来。
等到 Kubernetes 集群就绪之后,在 EDAS 上需要进行一次集群“导入”,导入方式如下图所示:
在导入集群时,EDAS 会做以下操作:
初始化 EDAS 的集群控制器和相关资源,主要包含:基于开放云原生应用标准的 OAM Controller、日志采集的 Agent、监控链路中的 Arms 环境信息等;其中大部分控制器运行时不会占用用户集群的资源,而会运行在 EDAS 托管的一个管控集群中,由 EDAS 来负责维护;

根据用户的规划,划分好此集群与 EDAS 中命名空间的关系。EDAS 中的命名空间是用来隔离服务与配置的,简单的可以理解成开发、测试、线上这样的日常研发中的环境。集群导入的同时也确定了该 Kubernetes 集群是用于哪套环境。
初始化应用
在准备好集群之后,我们需要初始化一个云端的应用,进入 EDAS 中的创建应用的向导之后,选择刚刚创建的集群进行应用创建,在需要选择的应用应用运行环境处,会看到有 "自定义"、"Java" 、"Tomcat"、"EDAS Container" 四类,如下图所示:
这里需要特殊说明一下,因为一个应用一旦一开始确定了部署类型,以后将不能被修改,其中:
Java/Tomcat/EDAS Container 类型的的环境:如果选择这中运行环境,文件上传之后,EDAS 将把文件与相应的基础镜像一起打成应用的镜像使用;

自定义环境:选择镜像的运行环境之后,意味着每一次的部署均通过指定的自定义镜像进行部署,其中,自定义镜像需要满足一定的规范,具体内容可以参考阿里云帮助文档《制作应用容器 Docker 镜像》。其中核心的内容是以下两行代码:
注:EDAS 中的应用,运行时就是被 OAM 控制器管控下的 Kubernetes 的 Deployment,因此除了通过上述方式创建 EDAS 应用之外,EDAS 也能将集群中的 Deployment 读取出来,您可以将这些Deployment直接转成一个 EDAS 应用。这里如果有朋友对 EDAS 应用 与 Deployment 之间的转换感兴趣的话,我们在专门的章节中细讲。
通过 IDE 插件直接部署 Kubernetes 应用
在初始化好应用之后,我们就能在开发时通过 IDE 将应用打包并直接部署上去了。和选择的 运行环境 有关,在插件中进行部署时,我们也会有相应的选项,如图:
如果是在开发环境中,为了提升开发效率,我们推荐使用非自定义镜像的方式用 IDE 插件进行部署,因为插件中文件上传比在控制台中上传的速度要快 3 倍以上,对于体积偏大的部署包来说非常好用!而且相比重新构建/推送镜像后再进行部署而言,直接提交war/jar的部署也要快很多。
关于如何在 IDE 插件中部署,可以在阿里云官方文档上搜索《使用 Cloud Toolkit 快速部署应用至 EDAS》进行详细了解。
结语及其后续
本篇我们还是站在开发者的视角,介绍了如何将一个开发好的应用包部署到云上的 EDAS 应用中,在开发环境下,面对众多的部署 Kubernetes 集群的方式中,我们推荐的最佳方式是使用 war/jar 直接从插件中上传部署,在所有方式中这是最快的部署方式。接下来我们将介绍站在运维的角度,如何使用 EDAS 的其他工具来构建部署流程。

相关文章
|
消息中间件 监控
RabbitMQ的Web管理页面
RabbitMQ的Web管理页面
1518 0
|
6月前
|
人工智能 前端开发 Unix
从CLI原理出发,如何做好AI Coding
本文探讨CLI类AI编程工具的产品美学与技术原理,分析其遵循Unix哲学的轻量、可组合、可集成特性,解析Single Agent架构与上下文工程的实践,并分享如何通过Prompt优化、任务拆解与团队对齐,高效利用CLI提升编码效率,展望AI时代人机协作的新范式。
1252 10
从CLI原理出发,如何做好AI Coding
|
Oracle 关系型数据库 Linux
Virtualbox上安装Linux系统(CentOS7)(图文超详细)
Virtualbox上安装Linux系统(CentOS7)(图文超详细)
5513 1
|
5月前
|
人工智能 JSON IDE
SDD 如何在复杂业务系统中真正落地?
OpenSpec 是面向 AI 编程的规范驱动开发(SDD)工具,以 Markdown 文档为“唯一真相源”,通过 CLI 管理需求提案(proposal)、任务清单(tasks)、规格说明(spec)及归档流程,支持 Cursor 等 IDE 集成,兼顾轻量迭代与工程可追溯性。(239字)
SDD 如何在复杂业务系统中真正落地?
|
5月前
|
人工智能 JavaScript Java
多 AI 协同 + SDD 编程实践:一个 AI 全流程交付实录
本文提出Spec-Driven Development(SDD)范式,以解决AI编码中“写得快但写不对”的痛点。通过OpenSpec工具实现规范先行、分阶段验证,并构建Claude+Codex+Gemini多模型协同工作流,确保复杂业务(如跨境保险)下代码的高质量、可复现与可靠交付。(239字)
多 AI 协同 + SDD 编程实践:一个 AI 全流程交付实录
|
安全 Linux 数据安全/隐私保护
docker运行报错docker: Error response from daemon: AppArmor enabled on system but the docker-default prof
docker运行报错docker: Error response from daemon: AppArmor enabled on system but the docker-default prof
1376 0
|
6月前
|
人工智能 安全 Java
SpecKit 在成熟 Java 项目中的 AI 编码实践
本文探索AI Code与SpecKit在Java应用中的实践,结合规格驱动开发(SDD)与测试驱动开发(TDD),通过定义原则、需求规格化、技术方案设计等步骤,实现风格统一、可追溯的AI辅助编码。分享选型考量、执行流程及问题优化,总结经验并沉淀为应用级知识资产,提升研发效率与代码规范性。(239字)
2538 13
SpecKit 在成熟 Java 项目中的 AI 编码实践
|
Kubernetes jenkins 持续交付
微服务从代码到k8s部署应有尽有系列(十四、部署环境搭建)
微服务从代码到k8s部署应有尽有系列(十四、部署环境搭建)
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读

热门文章

最新文章