沃尔玛如何使用OneOps、Jenkins、Nexus和Kubernetes管理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+配送中心

Practical OneOps by Nilesh Nimkar English | 12 Apr. 2017 | ASIN: B01FI3CD1C | 266 Pages | AZW3 | 13.74 MB Key Features Leverage OneOps to achieve continuous application lifecycle management Switch between multiple cloud providers in order to leverage better pricing, technology, and scalability Build complex environments in a repeatable and predictable method, and deploy and scale on multiple clouds Book Description Walmart's OneOps is an open source DevOps platform that is used for cloud and application lifecycle management. It can manage critical and complex application workload on any multi cloud-based infrastructure and revolutionizes the way administrators, developers, and engineers develop and launch new products. This practical book focuses on real-life cases and hands-on scenarios to develop, launch, and test your applications faster, so you can implement the DevOps process using OneOps. You will be exposed to the fundamental aspects of OneOps starting with installing, deploying, and configuring OneOps in a test environment, which will also come in handy later for development and debugging. You will also learn about design and architecture, and work through steps to perform enterprise level deployment. You will understand the initial setup of OneOps such as creating organization, teams, and access management. Finally, you will be taught how to configure, repair, scale, and extend applications across various cloud platforms. What you will learn Learn how to install OneOps Configure OneOps, including customizing your organizations, teams and clouds Work through practical deployment scenarios Understand OneOps architecture and individual components like Circuit and Display Build custom components and add unsupported clouds programmatically to OneOps Extend OneOps by calling the REST API About the Author Nilesh Nimkar has 18 years of experience in the IT industry, where he worked as a Release Manager for 13 years with the world's top banks, hedge funds, and data providers, such as Interactive Data, Deutsche Bank, Bridgewater Associates, Barclays, Bank of America, Merrill Lynch, UBS, and Oracle. During his time at various banks and hedge funds, he was involved in various large-scale automation projects. He likes to play with cloud and orchestration technologies, such as OpenStack, Docker, and Vagrant. He likes to read through code and reverse-engineer products. He also has a Master's degree in Information Systems from the University of Phoenix and a Bachelor of Science (physics) from the University of Mumbai. He is a certified Financial Information Associate, Mongo DBA, Mongo Developer, Oracle DBA, and Hadoop Admin. Table of Contents Getting Started with OneOps Understanding the OneOps Architecture OneOps Application Life Cycle OneOps Enterprise Deployment Practical Deployment Scenario Managing Your OneOps Working with Functional Components Building Components for OneOps Adding and Managing OneOps Components Adding Your Own Cloud to OneOps Integrating with OneOps Using API
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值