沃尔玛如何使用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)
|
5月前
|
Kubernetes 监控 数据安全/隐私保护
晓得用rancher怎么去管理K8S集群吗
晓得用rancher怎么去管理K8S集群吗
79 0
|
Linux 开发工具 git
淘东电商项目(07) -GitLab简介以及Docker部署
淘东电商项目(07) -GitLab简介以及Docker部署
106 0
|
Kubernetes 测试技术 容器
《阿里的Kubernetes测试环境开源工具箱》电子版地址
阿里的Kubernetes测试环境开源工具箱
144 0
《阿里的Kubernetes测试环境开源工具箱》电子版地址
|
运维 前端开发 jenkins
docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)
打算分两篇文章讲解,这篇文章讲解使用docker将我们的项目文件构建为镜像,然后部署到腾讯云的服务器上(相当于手动完成一次部署),然后进行外网访问测试。
511 0
docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)
|
Kubernetes Cloud Native Ubuntu
企业实战!基于Harbor搭建企业镜像仓库
本文讲解了如何使用Docker部署VMware旗下容器注册表服务器Harbor
|
Prometheus Kubernetes 监控
Rancher 使用介绍(可以通过界面管理 K8s 平台)
Rancher 是为使用容器的公司打造的容器管理平台,通过 Rancher,企业不再需要使用一系列开源软件从零开始构建一个容器服务平台。同时 Rancher 还提供了一个全栈容器部署和管理平台,用于管理 Docker 和 Kubernetes。
2852 0
Rancher 使用介绍(可以通过界面管理 K8s 平台)
|
Java Linux API
给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(上)
给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(上)
1274 0
给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(上)
|
Kubernetes NoSQL Devops
Go-Zero 短链项目 DevOps 实战,利用 Drone CI/CD 打通上云(Kubernetes)迭代流程
Go-Zero 短链项目 DevOps 实战,利用 Drone CI/CD 打通上云(Kubernetes)迭代流程
753 0
Go-Zero 短链项目 DevOps 实战,利用 Drone CI/CD 打通上云(Kubernetes)迭代流程
|
Docker 容器
给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(下)
给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(下)
183 0
给技术经理找了几款Docker开源镜像仓库,为什么经理选中了Sonatype Nexus(下)