调研NFV编排工具(by quqi99)

OpenStack Non-Networking 专栏收录该内容
70 篇文章 0 订阅

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (http://blog.csdn.net/quqi99)

裸机配置工具

通用配置管理工具

  • Puppet, 配置管理工具的鼻祖,由Ruby语言编写,使用基于XML的自有的puppet描述语言管理配置文件、用户、cron任务、软件包、系统服务等,语法复杂,可移植性差。
  • Chef, 一个类似于Puppet用来快速部署软件及其依赖包的脚本工具,将配置步骤通过脚本写出来(Puppet用基于XML的专用方法书写,Chef用Ruby书写),客户端从服务器端获取脚本并执行 - http://blog.csdn.net/quqi99/article/details/21247111
  • Ansible, 它应该是吸引了Juju通过SSH进行所有的操作的思想让它可以并行运行任何标准脚本语言(Python, Bash, Ruby等等),Ansible剧本(YAML语言编写)角色映射到节点/虚机上对它们进行编排有序的执行。另外它和Juju不同的是它是agentless的。
  • Salt, 又叫SaltStack,同时支持agent与agentless两种模式,在后一种模式下,Salt也使用SSH连接到受管理的节点/虚机执行以Python语言编写的模块。
  • Docker, 可将软件及软件依赖的运行环境与安装包统统打包一起部署,从而实现软件与基础架构的解偶。
  • terraform - https://blog.csdn.net/weixin_33937913/article/details/88595404

OpenStack部署工具

  • Devstack, 部署OpenStack开发环境
  • Packstack, 使用Puppet经SSH部署OpenStack到RHEL/CentOS上,见:https://wiki.openstack.org/wiki/Packstack
  • Redhat RDO, 使用Ansible部署OpenStack到RHEL/CentOS上
  • Suse Crowbar, 使用Chef部署OpenStack到Suse上
  • Rackspace OpenStack-Ansible, 使用Ansible部署OpenStack到Ubuntu和CentOS上
  • Mirantis Fuel, 使用Puppet部署OpenStack到Ubuntu上
  • HPE Helion, 使用Ansible部署OpenStack到Debian上
  • OpenStack TripleO, 使用OpenStack本来的基础设施(Nova, Neutron, Ironic, Heat)来自动化部署和伸缩OpenStack集群,即OpenStack over OpenStack。见:http://blog.csdn.net/quqi99/article/details/9530627
  • OpenStack Kolla, 上面工具只是实现了部署OpenStack的自动化,但没有简化OpenStack部署,如包依赖和升级困难等。Kolla项目起源于TripleO项目,实现OpenStack部署的容器化(即把目前OpenStack项目用到的所有组件部署在容器里),因此具有原子性回滚升级特性。它既可以利用Ansible去伸缩OpenStack容器节点,也可以利用Kubernetes去伸缩OpenStack容器节点。

NFV编排

  • OpenStack Heat, Heat根据配置文件模板(HOT, heat orchestration template)实例化一组符合要求的虚机。也能够在其上对应用软件进行配置与编排。对支持对一个组件部署后的负载均衡进行编排。见: http://blog.csdn.net/quqi99/article/details/50359289
  • Canonical Juju, 使用OPNFV JOID去编排VNFM与NFVO
  • 配置管理工具,上述的通用型的配置管理工具如Puppet、Chef、Ansible都可以用于去编排VNFM与NFVO
  • Kebernetes和Kolar, 可作为编排工具将VNFM与NFVO部署到容器里

Mesos + Marathon

应用部署方面也可以采用Mesos + Marthon:

  • Mesos是一个两阶段集群管理器(也叫数据中心操作系统),Master第一阶段通过Framework注册的Schedule将资源分配给Framework (Framework可以支持Hadoop, Elasticsearch, Spark, Stom, Kafka, Marathon等, 也通过K8SM支持将容器集群管理器Kubernetest集成到Mesos),Slave第二阶段在容器中调用Executor运行Framework的内部任务。
  • Marathon作为一个Mesos Framework,用来支持长期服务,比如Web应用,它相当于分布式的init.d,能够在分布式集群上像原有单机那样运行二进制程序,所以说它也是一种私有的PaaS,能提供REST API服务,实现服务的发现,通过HAProxy实现服务发现和负载均衡。
  • 使用Mesos + Marathon来编排一些应用还行,但用来编排NFV似乎热度不高网上很难找到相关资料,社区缺乏活力
  • Mesos的所有Schdule都没有像Kubernetes那样针对微服务进行了数据模型的抽象(如Pod, Service, Namespace等),所以Mesos的API没有Kubernetes精良易用。另外,Mesos涉及的组件使用的编程语言太多,如Mesos(C++)、Marathon(Scala)、Mesos-DNS(Golang)等。

Juju设计思想与Kubernetes设计思想的比较

Juju设计思想与Kubernetes设计思想的比较详见我的这篇博客的"使用Kubernetes编排应用到容器"一节。

结论

做NFV的虚机编排用Juju或者OpenStack Heat
做NFV的容器编排用Juju或者OpenStack Kolar或者Kebernetes
当然,其他如Ansible这些其他配置软件也能用

备份地址

https://zhhuabj.github.io/2017/11/10/调研NFV编排工具/

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:Age of Ai 设计师:meimeiellie 返回首页

打赏作者

quqi99

你的鼓励就是我创造的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值