打造SDN容器百宝箱(一)

作为SDN领域从业者,如何让Docker服务于SDN,可能是大家比较关心的话题。接下来的几篇将讲述如何搭建一个灵活敏捷的CDSC(container define service cloud)平台。

开始聊Docker之前,我想先谈谈学习开源项目的个人体会。

学习一个开源项目比较好的套路是:先通过安装部署和运行,熟悉其大概提供的服务,根据官网的wiki等信息从宏观层面了解其大概架构,通过做一些实验熟悉其具体的功能和特性,通过对一个“点”的功能特性熟悉,进行拓展,形成知识的“线”和“面”。在此过程中,需要反复不断地进行一些调试操作和知识验证,熟悉一些细节特性,因为开源项目里有很多不完善和错误的地方。

当你已经熟悉了开源项目的功能服务后,如果仅为了解它,到此可以为止了,如果你想利用它为自身的产品服务还不够,可能需要深入代码层面,了解其设计架构,走通其运行流程。这样可以在服务自身产品的过程中,裁剪起来才游刃有余。

废话不多说了,Docker作为开源界比较知名的项目,也是这个思路。我个人也是零碎的接触Docker,更还没有把它运用于实际工作中,因此理解认识也是比较肤浅,若有不对的地方,欢迎指教。如果你还是新手,建议可以先到其官网https://www.docker.com/熟悉了解。如果你觉得自己英文不咋的,国内已有前辈们总结了一些资料,比如http://www.dockerpool.com。

开源项目只有把它应用于自身的实际工作,才能体现其价值。作为SDN领域从业者,如果要在公司内部推广Docker应用的话,下图是个人的一些不成熟的想法:


SDN领域的开源项目比较多,无论是作为高校科研人员,还是企业内部的部署测试,都迫切需要“拿来即用”的软件服务,在这样的需求背景下,搭建一个上述的CDSC(container define service cloud)平台是必要的也是可行的。

在上图中,主要分为镜像存储与管理,容器集群的管理,容器的统一调度和UI展示层。

镜像存储,目前Docker分为共有仓库和私有仓库。但共有仓库下载上传比较慢,如果想把Docker作为企业级进行部署使用,必然要搭建私有仓库,因为使用起来更快,更安全可控。如何建私有仓库官网有介绍,就不在本文重复了。下图是之前搭建好的私有仓库部分截图:


对于实际的镜像文件的存储,可以通过glance+swift技术思路进行高效管理。

容器集群的管理主要借助于Docker生态系统中另一个开源项目kubernetes。它实现了更加高效,灵动的容器管理,通过指定用户自定义网桥和Open vSwitch的GRE保障了跨宿主机容器间的通信,打通了2-3层。在容器集群里的SDNPool里主要存放SDN领域相关的容器服务,大家应该不陌生,用到的时候拿来即用,一次部署,随时运行,同时比虚拟机占用的资源又小;在workPool里主要存放一些日常工作需要的常用工具软件。当然作为开发人员或者测试人员,也可定制的自己的环境,当项目组有新人过来时,直接分发个容器给他(她)就行了,再也不用手把手教学了。

在容器统一调度部分,主要设计容器管理(创建,查看,删除,上传,启停);端口管理,由于Docker是通过宿主机的端口NAT映射来区分管理不同的容器的,因此端口的管理与分发需要集中管理,方便监测。安全控制部分,其实Docker1.0到Docker1.3变化比较大的部分,就是Docker的安全加固,我也根据官网的介绍做了一遍,比较繁琐,好在连蒙带猜搞定了。Docker的安全加固未来估计考虑的方面更多,这是任何系统框架的一个老大难的问题。容器拓扑,主要是可视化集群中的容器,可以通过官网介绍的playground尝试。容器的流量监控,当集群中的大量容器提供服务时,很有必要监控容器的流量,这个可以通过sflow技术实现,sflow是一种以设备端口为基本单元的数据流随机采样流量监控技术。CDSC系统的可视化展示层既可以自己开发一套,也可以基于shipyard二次开发,通过nginx做web的负载均衡,增强web访问的体验。

总结,IT技术的发展,开源项目的出现,总是一浪一浪的。很多技术项目的发展具有惊人的相似性。如下图所示:


起初是个好的idea,还是很小的项目,随着参与的公司和人越来越多,此项目会变得很臃肿庞大,看起来很强大。随着人们因为期望越来越高,应用场景越来越复杂。终于有一天,一些人实在看不下去了,做了一个轻量级的组件式,更加敏捷的东东出来。比如OpenDaylight与ONOS,hadoop与spark,KVM与Docker等等。

那么,如何要实现CDSC(container define service cloud)平台,下一篇将带您进入实战篇。Docker之风已经刮起,你想做那头会飞的猪吗?

作者:何妍 

来源:51CTO

时间: 2024-08-29 02:07:27

打造SDN容器百宝箱(一)的相关文章

网易云基于Kubernetes+Docker的容器服务研发实践

网易从2012年春开始云计算研发,陆续上线私有云IaaS.PaaS服务,并实现网易95%以上的互联网业务迁移上云.在近日的网易云技术布道系列活动中,张晓龙分享了网易云基础服务团队在研发容器服务过程中的实战经验.   一.网易云技术架构   首先看到网易云的研发历程和整体架构,如下:   下图是网易云的简单架构:     技术架构从底到上可分为三层:   基础设施层主要采用虚拟化技术将服务器.交换机/路由器以及硬盘等物理设备虚拟成为可以按需分配的计算/存储/网络资源.基础设施层主要包括:云主机.云

SDN商用实践助推数字化转型

向数字化转型,已经成为运营商面对现阶段以及未来诸多挑战的前进方向.在应对数字化转型过程中,与互联网OTT相比,运营商提供的服务往往缺乏弹性.敏捷性和开放能力,导致网络投资不断增长.传统电信业务收入却持续下滑.新业务又创新乏力,运营商陷入了增量不增收的窘境. 面对挑战,如何通过网络重构.运营重构和生态重构来构筑起面向体验.随需.敏捷和开放的网络,从而实现数字化转型战略,是运营商的当务之急.网络.运营.业务的全面云化,是运营商通往数字化转型之路的有效途径,SDN则是其中的关键. 产业变革:数字化时代

韦乐平把脉SDN/NFV:规模商用没那么简单

SDN/NFV所倡导的网络开放化.虚拟化.融合化.智能化的技术理念得到了业界越来越广泛的认同,成为全球ICT产业普遍看好的促进现网升级演进.未来网络架构创新.业务创新的重要技术路径:SDN也被看作是运营商"去电信化"的一个重要突破方向,成为重塑ICT产业链和生态链的一个重大机遇. 然而,现阶段SDN/NFV的实际商用部署,却并不如理想中的那般美好.那么,SDN/NFV目前的发展现状究竟如何?未来在大规模商用道路上还将面临哪些挑战?业界又将如何应对?对此,在近日举行的"2016

回顾SDN/NFV部署关键年:全面落地 亟需克服多重困难

随着云计算技术的发展以及"互联网+"计划的提出,运营商网络面临巨大压力,如何变革网络以适应未来业务发展需求,成为业界关注焦点.而SDN/NFV可以把原来经典网络进行系统的抽象化,是实现网络转型的最佳选择. SNSResearch的报告显示,2015-2020年,网络服务提供商在SDN/NFV方面的投资将持续提升,年复合增长率将高达54%,预计到2020年可达200亿美元. SDN/NFV带来了新一轮网络变革,近年来业界对SDN/NFV进行了大量测试,而2015年是SDN/NFV走向部署

【阿里云资讯】Docker首个国内合作商,阿里云何以认定容器技术将成主流?

阿里成Docker首个国内合作商 10月13日,在2016杭州·云栖大会上,全球知名的容器技术公司Docker与阿里云宣布达成战略合作,双方将在容器服务领域进行紧密合作,阿里云称其将为客户提供更加先进的云上应用管理服务.双方称在开源容器技术以及其发展方向共同努力,为客户提供本地化Docker的企业级支持和咨询服务. Docker自问世三年来,社区不断壮大,项目升温之迅猛在开源社区中并不多见,并受到IT业内的广泛关注.不过,Docker在国内真正的大规模应用仍然不多,目前国内Docker的使用状况

有容云:容器网络那些事儿

本文讲的是有容云:容器网络那些事儿[编者注]本文根据7月31日有容云<Docker Live时代线下沙龙-北京站>嘉宾分享内容整理而成,分享嘉宾杜东明,有容云高级技术顾问,十年IT经验,IT行业的全栈工程师.涉足领域包括存储.网络.备份/容灾.服务器/终端虚拟化.Docker等.拥有丰富的一线客户经验,曾帮助工行.建行.光大.国寿.泰康等诸多金融客户设计其虚拟化基础架. 我相信,真正拿容器工作或者是去运维一个容器环境,真正在容器上面做生产的时候大家都会遇到的一个话题就是容器网络,所以我今天给大

容器,你还只用Docker吗?(下)

作者介绍 周晖,Pivotal大中国区云计算首席架构师,有丰富的PaaS云实际建设经验,负责过国内某知名银行已经生产上线一年的PaaS云的架构设计和部分功能的实现,参与过某超算PaaS.某超市电商PaaS.某电力PaaS等项目的建设.   上文说到CaaS生态圈的公司如何应对Docker用捆绑方式从容器入侵CaaS领域,CaaS厂商通过容器抽象.标准化容器运行时RunC以及容器功能外化插件来重新定义容器.下面我们继续来看CaaS厂商的具体方案.   一.CaaS业界通过分解重组Docker技术来

开放容器项目及其意义

本文讲的是开放容器项目及其意义,[编者的话]DockerCon 2015大会于6月22在美国旧金山揭幕,大会上Linux基金会与行业巨头联手打造开放容器技术项目Open Container Project,旨在实现容器标准化.作者从行业角度分析了这个项目背后的意义. 昨天看到了在旧金山公布的开放容器项目(Open Container Project).这个由Linux基金会打造的项目,旨在实现容器镜像格式与运行时的标准化.怎么看都是个"好东西". 有许多平时持怀疑态度的公司也出现在签署

Supergiant.io —— 服务于有状态应用的容器平台

Supergiant是一个使用Kubernetes打造的容器托管平台,适用于分布式的有状态应用.Supergiant是由Qbox.io团队所开发的,该团队同时还提供了托管版本的Elasticsearch. Supergiant是一种能够运行Docker容器.以托管有状态.集群化应用的框架.它的内部实现利用了Kubernetes的功能,但也开发了自有的结构与代码,以避免出现Kubernetes无法满足需求的场景,例如持久化保存以及外部的负载均衡.InfoQ与Qbox的CEO和联合创始人,同时也是S