持续交付的Mesos与Docker导入篇

2015100813410005937156.jpg

变革这个词在当今的数字化时代司空见惯,IT技术每过一段时间就会有一起革新,从WEB2.0、虚拟化、云计算、大数据、微架构、DevOps再到今天的容器Docker与Mesos。

Docker的出现方便了应用的测试、部署、与升级,其将各种应用程序和它们所依赖的运行环境打包成标准的Container/Image,进而发布到不同的平台上运行。Docker的轻量级、快速部署、迁移方便的特性促进了DevOps的落地,借用容器,开发人员可以很方便的融入到产品的交付流程当中。

Mesos是软件定义数据中心的最佳实践,其理念用最通俗的话来讲就是,让运维人员操作数据中心就算操作一台服务器一样去操作,将数据中心中的CPU、内存、存储等资源统一在一台服务器内进行调度与管理。听起来非常的高大上,如果用技术化的语言来描述,Mesos是这样定义的,统一的集群资源管理与调度平台,将生产环境中的各种服务框架,部署在一个公共的集群中,共享集群中的资源,由Mesos对资源进行统一调度,提供给服务框架使用。Mesos的出现给IaaS、PaaS以及运维的管理提供了极大的便利。

在实践中,Mesos与Docker是最佳的伴侣,前者提供了资源的统一管理,后者实现了资源的隔离使用,有合有分,在不同的层次发挥着不同的效能。同时,Mesos与Docker又都有自己的技术生态圈,两者的生态圈又都相互的促进和推动。

§Marathon保证Mesos上的服务长期运行的框架,确保运行在Mesos上的服务一直运行,某台Mesos主机发生故障时自动迁移到其他服务器。

§Chronos服务循环运行作业调度框架,可以设定反复在特定的时间触发运行Mesos中的服务

§Mesos-DNS针对Mesos的基于DNS的服务发现机制,可以方便的发现容器运行位置,并进行管理调度

§Kubernetes集群级别的容器编排管理系统,能方便的管理跨集群运行的容器化应用,提供容器调度、部署、服务发现、扩展机制等功能

§Swarm用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,使用Swarm操作集群,会使用户感觉就像是在一台主机上进行操作。

Mesos与Docker这对最佳伴侣为应用的持续交付带来了极大的便利,为应用的运维管理提供了很大的方便,两者在持续交付的解决方案中都起着至关重要的作用,如下图展示了Mesos与Docker在应用持续交付中的实践。其具体的过程可以描述如下:

o开发人员根据产品的需求进行代码的实现,将实现的代码提交到Git/SVN等代码管理仓库;

o测试人员通过Jenkins/Hudson等持续集成工具,对代码进行编译、打包、集成等,将代码打包成DockerImage提交到Docker镜像仓库;

o测试人员通过Mesos资源调度和Marathon平台,用新的DockerImage部署测试环境,测试人员在测试环境中对产品需求功能进行验证。如果不符合验证反馈给开发人员,由开发人员继续修正,如果已经符合要求会通知运维人员将代码部署到预发布或生产环境;

o运维人员接到测试已经验证通过的通知后,会利用新发布的Docker Image,将其部署到由Mesos调度管理的生产环境中;

o在生产环境运行过程中,运维人员可以通过Marathon等平台对环境进行一下业务的扩容及缩容操作,甚至一些故障的自动恢复等管理。

4.jpg

Mesos与Docker交付中应用案例

上述过程描述是基于比较传统标准的组织架构型的公司来描述的,有清晰角色分工的开发、测试、运维等角色人员;有部分公司已经实践DevOps的管理方式,开发运维合二为一,组织架构中的角色分工更简单简洁,其利用Mesos、Docker实现的持续交付过程会有一些大同小异,其具体的操作过程还是一样的,只是操作的人可能不同。

Mesos与Docker的出现应用快、持续、自动化的交付的落地消除了很多的屏障,带来了极大的便利。IT技术就是日新月异,我们能够选择的只有不断积极的拥抱。明天会更好,本篇是我们应用持续交付系列文章的导入篇,在后续会根据实践不断更新此系列,和优云软件(全栈运维解决方案服务商 https://uyun.cn)一起加速互联网敏捷运维。

原创文章,作者:uyunops,如若转载,请注明出处:http://www.178linux.com/21186

(1)
uyunopsuyunops
上一篇 2016-07-10 12:17
下一篇 2016-07-10 12:17

相关推荐

  • Linux文件之普通权限及其特殊权限

    普通权限: 当我们使用ls -l命令查看某个文件时: [root@centos7 ~]# ls -l file1.txt  -rw-r–r–. 1 root root 30286 Aug  1 19:30 file1…

    Linux干货 2016-08-04
  • centos7源码编译安装Apache2.4.25服务

    •一、源码包下载 •二、安装开发环境以及编译环境 •三、编译安装以及报错排查 •四、调试Apache服务 前言: 本文主要介绍了在Centos7环境中如何通过源码编译的方式安装Apache服务(也就是我们的httpd服务)由于本文整理时间有限,所以难免有些纰漏之处,欢迎大家在阅读后在评论区指出,本人看到会在第一时间修改文中错误的地方。 为什么要进行源码编译安…

    2017-04-22
  • Linux基础之LVM

    一.LVM介绍 LVM(Logic Volume Management)逻辑卷管理器,其基本原理就是将多个磁盘的分区在逻辑上进行组合,使之成为一个大容量的磁盘进行使用,可以实现动态的分配存储空间。 LVM基本模型以及基本术语,如下图所示: PV:物理卷,从逻辑上与磁盘分区具有同样功能的设备 VG:卷组,由一个或多个物理卷组成 LV:逻辑卷,具有逻辑边界的存储…

    Linux干货 2016-11-09
  • GNU awk

    awk -> gawk – 模式扫描和输出语言文件, pattern scanning and processing language 基本用法: gawk [options] 'program' FILE … program: PATTERN{ACTION ATATEMENTS} ACTION ATATEM…

    Linux干货 2016-09-22
  • Linux常见发行版本以及Linux哲学思想

    什么是Linux?  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。  Linux操作系…

    Linux干货 2016-08-15
  • JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

    摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。     现实企业级Java开发中,有时候我们会碰到下面这些问题: Out…

    2017-08-17