容器落地案例:TNO如何用容器搭建CI/CD与微服务架构

2023-11-10 12:10

本文主要是介绍容器落地案例:TNO如何用容器搭建CI/CD与微服务架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rancher大大减少了TNO用于管理容器和开发代码的时间,从而让TNO可以将更多的时间用在那些造福于社会的研究项目上。

关于TNO

TNO(荷兰应用科学研究组织)是一个独立组织,它旨在连接人与知识,创造能够以可持续的方式提升社会福祉的创新项目。TNO雇佣了2600多名专家,研究领域涵盖城市化中的工业和能源、健康生活以及安全。

这里写图片描述

势在必行的容器使用

TNO的研究人员与其他公司、政府和研究机构的利益相关者都需密切合作。TNO做项目的时候,团队成员经常使用他们自己偏爱的工具和编程语言,早期工作阶段也是使用他们自己的原型设计和开发环境。在使用容器之前,TNO的研究人员发现把团队成员的开发工作转移到生产环境中是件非常麻烦的事儿。

这里写图片描述

“我们发现和虚拟机不同,如果我们使用微服务架构和Docker容器,我们就能确保我们的软件不论是在研究人员自己的机器上还是在生产机器上都能以完全相同的方式工作。”TNO的创新科学家Johan van der Geest解释说。“将东西打包并且将其从开发环境转移至生产环境有着极大的好处。”TNO的创新家Mark Bastiaans。

一个更全面的容器管理解决方案

TNO刚开始使用容器的时候,研究人员发现他们需要更多与容器相关的功能,包括跨主机网络、集群管理和服务编排。“偶然发现Rancher是因为我当时正在寻找一个可以跨主机工作的容器管理解决方案,” Bastiaans说,“然后我们发现了Rancher,它真的让我眼前一亮,印象深刻。”对于那些需要多主机、在一个服务链中设置几个微服务的项目,“我们需要看它如何伸缩,而Rancher漂亮地填补了其间的缺口。”

这里写图片描述

随着Rancher的容器管理解决方案不断发展,“我们一直保证我们的Rancher环境是最新版本,因为它的功能总能给我们带来很多好处。应用服务目录加进来了,还有负载均衡,这些都被用于了我们的项目中,” van der Geest说。而今天,“Rancher对不同编排工具的支持——Kubernetes, Swarm, 还有Mesos——让我们得以选择能满足某个特定项目的需求的框架。

Rancher的自动化CI/CD

“在使用Docker之前,我们已经在项目中应用CI/CD了,”van der Geest解释道,“但Rancher真的是在持续集成开发方面给了我们很大的帮助。我们可以将开发环境与生产环境隔离,并且。我们利用Rancher API来自动启动升级服务,开发人员只需把代码推送到Git中央仓库,几分钟之后它就被自动创建、发布并活跃起来了。”

这里写图片描述

TNO的研究科学家Edwin Harmsma说:“Rancher让我们可以实现完全自动化的集成测试,并且通过命令行界面,将自动化堆栈从源代码转变到部署。” van der Geest补充说:“我们现在可以非常迅速地将持续集成应用到新的和现有的项目。创建开发和生产环境,以及在这些环境中升级服务所需要花费的时间被大大减少了。”

“下一步我们要在更多的项目中使用我们的解决方案,并且展示我们在持续集成方面的真正能力。” van der Geest如是说。

微服务,和更快的研究速度

“Rancher非常棒的一点在于,微服务的整体概念都被很好地可视化了,这对于尚不熟悉它、又想要开始使用它的开发者来说非常的好,” Bastiaans说道,“研究人员在选择什么工作语言方面是很固执的,但如果你向他们展示了完整的堆栈,你就能让他们愿意打包他们在容器中做完的东西,这也会让他们更加清楚地体会到微服务的好处。”

“有了Docker和Rancher,我们可以让更多的研究人员开始使用微服务,并且让他们可以用他们最喜欢的语言做开发工作,” Van Der Geest说,“我认为这是一件非常有益的事儿。” Van Der Geest还对将现有软件容器化、以及用Rancher的catalog功能在不同环境中快速部署软件很感兴趣,

这里写图片描述

“对我来说,整个‘容器变革’就是关于如何在更短的时间内完成更多的东西,” Bastiaans说,“作为一个研究机构,我们一直都主张要尝试新鲜事物。如今我们已经有足够多的信心,将容器运用到生产环境中的更多项目里去。”

原文来源:Rancher Labs

这篇关于容器落地案例:TNO如何用容器搭建CI/CD与微服务架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/382582

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1