沃尔玛如何使用OneOps、Jenkins、Nexus和Kubernetes管理200+配送中心

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文讲的是沃尔玛如何使用OneOps、Jenkins、Nexus和Kubernetes管理200+配送中心【编者的话】本文介绍了沃尔玛公司针对全球200+配送中心云化升级的具体情况,包括使用的方案、如何处理原来的虚拟机资源以及改造后的成效。
本文讲的是沃尔玛如何使用OneOps、Jenkins、Nexus和Kubernetes管理200+配送中心【编者的话】本文介绍了沃尔玛公司针对全球200+配送中心云化升级的具体情况,包括使用的方案、如何处理原来的虚拟机资源以及改造后的成效。

沃尔玛物流的关键竞争优势之一是过去十年间沃尔玛一直努力保持配送中心高效和自主运行。自主运行涉及到硬件和软件基础设施,它们运行在全球两百多个配送中心中。每一个配送中心以及包含的内容被视为一个微型数据中心。

管理如此多的配送中心是一个复杂的物流问题,从软件更新到发布新软件和整套解决方案,每一步都提出全新的挑战。为了迎接这些挑战,沃尔玛科技正在努力将云的灵活性应用在配送中心。这项倡议的顶层目标包括:从底层基础设施中抽象出应用程序、快速部署新的企业解决方案和根据应用的工作负载情况提供无缝按需扩展的能力。每一个企业应用都应该实现功能自主,比如说配送中心。

但是将一个类似于云的环境部署在不同网络的内部物流系统中并非易事。为了实现这些,沃尔玛科技整合了一些开源组件,它们每一个都令人印象深刻:OneOps、Kubernetes、Jenkins和Nexus。

OneOps @沃尔玛实验室 领导的开源项目,它在云不可知[译者注:云不可知,原词“cloud-agnostic”,只部署前不明确使用哪个云服务商]的环境中,提供一致的基础设施配置和交付机制。虽然沃尔玛科技已经使用OneOps管理其多个数据中心云环境,每天帮助部署超过1000次,但是配送中心还没有使用它。该计划目的在于改变这现状,将每个数据中心当作独立的云环境,使用OneOps配置底层的虚拟机和Kubernetes集群所需要的其它关键技术组件。(如下图)
01.png

上图中,通过Fog适配器完成OneOps和WMware vCenter之间的集成。这项关键集成,允许现有物流中心继续使用已投资的VMware资源,对DC基础设施的改动最小。一旦这项集成支持虚拟机,OneOps会接管新配置好的虚拟机,将Kubernetes生态系统运行在上面。这一便捷的方法意味着,无论应用程序是在云中还是内部,OneOps能够促进企业间一致的基础设施管理体验。

在决定使用 Kubernetes 之前,沃尔玛已成功在其配送中心应用开源软件(Nagios、Apache-httpd)。虽然这些开源软件相对有效地满足当前应用程序的需求。但是这些不同的产品需要定制配置和安装脚本来提供一个连贯的应用部署平台。随着应用程序向微服务风格架构转变,管理不同组件的开销增加,这使得架构转换更加困难。

Kubernetes 已经证明它不仅可以满足之前开源软件提供的需求,而且它更高效、简单、容易管理。凭借谷歌多年 云计算经验 ,Kubernetes还提供了强大的Docker容器编排特性,帮助实现微服务架构。包括:

Kubernetes确保应用总是运行、充分利用本地资源。相对很少的开销就可以做到这一点:三台小型虚拟机,做冗余主节点即可。完整配置的集群提供应用程序运行所需要的一切。
02.png

Master节点确保集群平稳运行,跟踪每一个组件的状态,处理部署更新的API请求;worker节点依然忙着执行应用程序工作。NFS服务器满足基于文件系统的本地共享功能。负载均衡节点,用于拦截、引导外部非Kubernetes流量到集群内部。

一旦Kubernetes集群被OneOps配置好,每个集群通过钩子机制集成到基于Jenkins的 持续交付工作流 。这些工作确保应用程序被及时有效地交付到每一个配送中心。
03.png

把每个应用程序作为自己独立的微服务组件,Jenkins不仅是一个快速高效的构建软件工具,它还是沃尔玛持续交付工作流的基础平台。

单独的Jenkins不足以作为部署工具。任何基于Docker的方案都需要实体镜像仓库——Docker二进制的单一“真实来源”。我们已经研究了Nexus对Java、dotnet、linux RPMs和最近基于NPM架构的产品。沃尔玛科技显而易见的方案是扩展Nexus的功能,让它支持Docker镜像仓库。此外,考虑到配送中心的自主属性,每个数据中心必须要有本地镜像仓库,这样既可以确保数据中心独立工作,也可以减轻外部网络流量。我们依然使用Nexus,但是它构建成优化的Docker镜像,部署到每个数据中心的Kubernetes集群中。作为代理和缓存服务支持企业范围的镜像存储。
04.png

如上图所见,Jenkins工作流中,以新版本Docker镜像的方式直接更新应用到企业的Nexus中。每个数据中心的Kubernetes集群从中心镜像仓库拉取、缓存最新的更新版本到本地文件系统。由此便形成了由Kubernetes、Nexus、Jenkins组成的完整的镜像管理基础设施。

通过结合这些重要的开源软件产品,整合成完整的解决方案。沃尔玛科技能够提供现代物流系统所需的灵活性和隔离水平。开发团队也被授权根据物流伙伴的需求,选择合适的技术开发解决方案。沃尔玛物流的终端用户和管理人员都很开心,因为他们既可以使用物流中心现有的资源,提高了交付速度、系统运行时间和资源使用率。最后,沃尔玛的客户也从中受益,这个系统确保顾客常用的物品库存充足,价格低廉。

原文连接:Walmart Will Manage 200-Plus Distribution Centers With OneOps, Jenkins, Nexus and Kubernetes(翻译:adolphlwq)

=========================================
译者介绍

adolphlwq,博客地址:QuanTalk

原文发布时间为:2016-11-13

本文作者:adolphlwq

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:沃尔玛如何使用OneOps、Jenkins、Nexus和Kubernetes管理200+配送中心

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
jenkins 持续交付 数据安全/隐私保护
企业实战(23)基于Docker平台的Jenkins凭据管理与应用(4)
企业实战(23)基于Docker平台的Jenkins凭据管理与应用(4)
|
8月前
|
Kubernetes Cloud Native Devops
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
164 1
|
Linux 开发工具 git
淘东电商项目(07) -GitLab简介以及Docker部署
淘东电商项目(07) -GitLab简介以及Docker部署
104 0
|
jenkins 持续交付 项目管理
企业实战(23)基于Docker平台的Jenkins项目管理(5)
企业实战(23)基于Docker平台的Jenkins项目管理(5)
|
Kubernetes 测试技术 容器
《阿里的Kubernetes测试环境开源工具箱》电子版地址
阿里的Kubernetes测试环境开源工具箱
143 0
《阿里的Kubernetes测试环境开源工具箱》电子版地址
|
存储 Kubernetes Docker
【排坑指南之kubeSphere】2022年最新版-”kubeSphere3.2.1 Paas容器云平台“使用DevOps-CICD之”排坑指南“
【排坑指南之kubeSphere】2022年最新版-”kubeSphere3.2.1 Paas容器云平台“使用DevOps-CICD之”排坑指南“
148 0
|
Prometheus 运维 监控
远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统
我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能测试上自动化,而功能发布讲究三板斧:灰度、监控、止血。灰度属于测试范畴,止血则是亡羊补牢,今天我们来聊聊监控,提起监控,就不得不提在DepOps(自动化运维)领域鼎鼎有名的Prometheus(普罗米修斯),有人说这个开源系统的名字怎么有点如雷贯耳啊,没错,它的名字就是取自从宙斯手中为人类夺回圣火的古希腊神明普罗米修斯,而Prometheus的Logo恰恰就是奥林匹克圣火。Prometheus主要的功能就是可以无时不刻的监控所有部署在生产环境中的服务,如果服务出现问题则会
远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统
|
存储 Cloud Native 应用服务中间件
【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)(一)
【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)(一)
294 0
【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)(一)
|
Cloud Native 数据安全/隐私保护 Docker
【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)(三)
【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)(三)
191 0
【云原生Docker系列第十一篇】Docker harbor私有仓库部署与管理(有故事的人根本不会讲故事)(三)
|
网络协议 jenkins Java
企业DevOps之路:Jenkins 集成 Harbor 自动发布镜像
实际中,一般会结合 Jenkins 的流水线,进行自动构建和发布。
492 0
企业DevOps之路:Jenkins 集成 Harbor 自动发布镜像

热门文章

最新文章