容器与微服务云原生_云原生开发–在本地容器上

容器与微服务云原生

先前的文章从逻辑图及其原理开始介绍了云原生开发蓝图的基础。
共同的建筑元素

在本文中,我们将继续在架构蓝图中举例说明用例。 提供说明以指导您调整组织每天工作的环境。

第3部分–在本地容器上进行开发

这些详细信息应帮助您了解元素包含的内容以及元素如何对齐以及如何对它们的功能进行分组。 让我们看一下用例,其中开发人员正在利用本地容器工具来开发其云原生开发环境,并了解它如何映射到用于部署解决方案的高效工作架构。

第一个用例关注于在其开发环境中使用各种本地容器工具的开发人员环境。 当将它们的解决方案推向本地开发环境之外时,这些工具的集成至关重要,并且从开发人员到开发环境,再到测试基础架构,都将在这里介绍。

通过应用此示例中显示的与测试环境相同的蓝图,可以实现此示例以外的任何环境,例如验收或生产环境。 在本地容器解决方案上探索云原生开发时,请记住这一点。

开发本地容器(运行时和集成)

该示例从一个云本地开发人员在本地计算机上工作开始,使用某种形式的集成开发环境(IDE)以及此处概述的一组工具。 我们意识到在开发团队中可以找到许多不同的工具集,但是为简单起见,我们在以下图中收集了以下主要元素作为开发人员堆栈。

每个开发团队都使用某种形式的源代码管理系统(SCM),如今,这种形式很可能不是某种形式的基于Git的存储库。 随之而来的是依赖性管理工具,例如此处显示的Apache Maven存储库。 在我们的示例中,我们选择将Java运行时与诸如Spring Boot和Camel集成之类的框架一起使用。 这就是用于创建应用程序,前端和微服务的开发堆栈。

开发人员工具的最后一部分是开发人员用来测试构建并将其代码解决方案部署到容器中的容器工具。 在此本地容器示例中,最常用的工具是Docker或称为Podman的开源容器项目工具。

一旦开发人员对代码的本地机器测试,依赖性以及本地容器部署的结果感到满意,他们就可以选择将其工作推送到集中式开发团队基础结构的一些选项。 他们可以设置以下选项之一来生成或触发向开发基础结构的推送:

  • 使用git hooks,当提交到本地代码存储库时触发代码推送
  • 使用Maven插件,激活后触发对开发基础结构的推送
  • 使用容器工具中的文件上传功能

当将代码推送到集中式开发基础架构时,开发团队可以自由使用最适合自己需求的方法。

开发基础设施

来自开发人员的推送代码由持续集成和持续开发(CI / CD)平台获取,在这种情况下,大多数情况下是基于Jenkins的平台。 这里,使用相同的本地开发人员工具来创建容器映像,测试映像并将其放置在开发基础结构映像注册表中。 此时,它已被标记为devImage

开发基础结构的任务是使用CI / CD平台和认为必要的任何其他方法来测试此devImage 。 一旦满足了这些要求,就会使用称为Skopeo的工具将映像从一个注册表复制到另一个注册表。 这标志着本地容器工具的开发工作被遗忘了,因为该图像现在被标记为testImage并被复制到测试基础架构中的OpenShift Container Platform图像注册表中。

测试基础架构

通过从映像注册表中获取testImage并根据需要将容器与应用程序微服务一起部署,测试基础架构会在此用例完成之前显示更多详细信息。 此时,测试周期将从新的测试基础结构数据和生产部署之路的要求重新开始。

该用例示例具有运行时和集成框架,这些框架用于由组织中的开发人员使用本地容器工具来创建应用程序和微服务。 它具有一个蓝图,用于映射您的云原生开发流程,以将开发人员解决方案部署到测试基础架构中。 这应该足以帮助您针对所需的生产环境设置云本地开发和部署环境。

开发本地容器(过程自动化)

此处显示的图中提供了另一个示例,这是在本地开发人员机器,中央开发基础结构和测试基础结构上相同的开发设置和部署。 特色开发工具现已用于流程自动化项目,这些项目将最终的流程微服务与可能需要的最终微服务一起部署。

探索图

如本系列简介中所述,我们将
我们所有架构蓝图的示例存储库 。 的
投资组合架构示例存储库使从每个图表元素以及整个项目中收集并共享单个图像成为可能。

要访问本文所涉及的图表,请向下滚动至主页上的文件列表,您可以找到一个示意图,如下图所示。

这是与云原生开发相关的示意图的集合:

  • 在这种情况下,这是一张图片,您可以单击以查看
  • 您可以使用“ 下载图表”链接将项目文件下载到本地计算机
  • 您可以单击一个Load Diagram链接来自动打开此蓝图中使用的图表工具中的项目图

尝试一下,随意探索逻辑图,原理图,详细图,解决方案图和社区图。 如果您可以使用现有图表启动项目,那么这应该比起头来得更快。

如果您要设计自己的图,请通过提出附加文件的问题来贡献项目文件(以.drawio结尾)。 我们很乐意继续收集这些项目供其他人使用。

最后,有一个免费的在线初学者指南讲习班 ,侧重于使用图表工具,请探索以学习专家的技巧和窍门。

下一步是什么

可以在此处找到有关云原生开发投资组合架构蓝图的系列概述:

  1. 蓝图
  2. 常见建筑元素
  3. 在本地容器上进行云原生开发
  4. 远程容器上的云原生开发
  5. 云原生部署
  6. 云原生高级部署

通过上面的链接之一,赶上任何您错过的文章。 本系列的下一篇文章将介绍使用远程容器工具进行云原生开发。

翻译自: https://www.javacodegeeks.com/2020/06/cloud-native-development-on-local-containers.html

容器与微服务云原生

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值