×

集群资源调度系统对比

消耗积分:1 | 格式:rar | 大小:0.6 MB | 2017-10-10

分享资料个

 如今,企业IT系统集群规模越来越大,各路计算系统、存储系统、应用系统随着业务的飞速发展,一个接一个地“噌噌”搭建起来。但同时问题也来了,比如部署运维繁琐、新系统上线周期长、集群整体利用率偏低等。这时候,企业迫切需要一套强大的集群资源调度系统来帮忙。考虑到时下集群负载容器化如火如荼,各路面向容器的调度系统眼花缭乱,小编打算挑几位人气颇高、来自“开源界”的资源调度高手——Docker Swarm、Apache Mesos和Google Kubernetes,讲讲TA们在大规模容器场景下如何各施本领的故事。
  在高手出场前,让我们先快速回顾一下有关容器技术的背景知识。
  从容器(Container)到Docker
  1. 容器(Container)
  提到虚拟化,很多人都会立刻想到虚拟机,其实它只是虚拟化的一种实现。容器是另一种虚拟化,一种操作系统级别的虚拟化。从本质上来说,容器就是提供一个与宿主机操作系统共享内核但与系统中的其它进程资源相隔离的执行环境。其轻量级部署运行和秒级启动特性,帮助开发者快速构建、发布、部署和实例化应用程序。
  容器化最直接的好处在于简化DevOps,当应用采用了微服务架构(Micro-services architecture),每个容器就是一个微服务,而容器的灵活性意味着微服务可以随负载增长而快速横向扩展,且namespace(包含一个应用程序能够交互的所有资源)与资源隔离阻止了微服务实例之间的互相干扰。
  集群资源调度系统对比
  2. Docker
  Docker是时下流行的容器技术之一,起先是基于LXC(Linux Container)的开源容器管理引擎, 现在runC(标准化容器执行引擎,符合OCI标准的开放容器项目)更让它欣欣向荣向前发展。
  集群资源调度系统对比
  与传统“重量级”的虚拟机相比,Docker在LXC之上融合AUFS分层镜像管理机制,抛弃传统虚拟机试图模拟完整机器的思路,而是以应用为单元进行“集装封箱”,是“轻量级”的虚拟化技术。
  Docker Engine可以自动化部署应用到可移植的的容器中,这些容器独立于硬件、语言、框架、打包系统。一个标准的Docker容器包含一个软件组件及其所有的依赖,包括二进制文件,库,配置文件,脚本等,实现持续集成与部署,快速迭代应用程序。
  Docker容器可以封装任何有效负载,几乎可以在任何服务器之间进行一致性运行。开发者构建的应用只需一次构建即可多平台运行。运营人员只需配置他们的服务,即可运行所有应用。
  Docker的终极目标是简化容器的创建,并让这些容器可以作为开发者和系统管理者标准化、配置、交付应用的最佳方案。如果说Docker交付运行环境如同海运,那么OS如同一个货轮,每一个在OS上的App都如同一个集装箱,用户可以通过标准化手段自由组装运行环境, 同时集装箱的内容可由用户自定义,也可由专业人员制造。这样,交付一个应用,就是一系列标准化组件的集合交付。
  高手登场了
  身为一个容器调度高手,TA一定会选择最适合的Host来启动容器,并让容器之间紧密协同;对于失效容器立即自动替换,一切错误处理尽在掌控中;当高并发突然来袭,能迅速扩展容器来应对等等。那么今天的这三位主角——Docker Swarm、Apache Mesos、Google Kubernetes,在大规模集群容器场景的挑战下,又会表现出怎样的特征和本领?
  1. Docker Swarm篇
  Docker Swarm是Docker公司在2014年12月初发布的一套管理Docker集群的工具。它将一群Docker宿主机变成一个单一的虚拟主机,而且使用标准的Docker API接口作为其前端访问入口,这样一来,各种形式的Docker工具都可以很容易与Swarm进行集成。
  集群资源调度系统对比

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'集群资源调度系统对比',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);