写点什么

Cable-- 新虚拟网络架构介绍

  • 2019-11-19
  • 本文字数:1314 字

    阅读完需:约 4 分钟

Cable--新虚拟网络架构介绍

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

本文主要介绍为了统一管理不同编排系统的网络模块,简化虚拟网络功能的开发流程,虚拟网络工作组实现的新虚拟网络架构–Cable。

前言

OpenStack 架构中,Neutron 作为虚拟网络模块,管理虚机的网络。随着容器技术的发展,越来越多的应用部署到 Kubernetes 等容器编排系统中,而 Kubernetes 也有自带的网络管理模块,如 Flannel,Calico 等。分别维护 OpenStack、Kubernetes 网络模块,不仅增加管理成本,且无法满足虚机和容器网络互通等需求。为了统一管理不同编排系统的网络模块,简化虚拟网络功能的开发流程,虚拟网络工作组实现了新的虚拟网络架构 Cable。

背景简介

目前公司的虚拟网络架构有如下不足:1 物理机、虚机和容器网络分开管理,无法达到直接互联互通。2 Neutron agent 里的 DHCP、metadata 采用集中式服务,健壮性不足。3 vxlan 实现时需要外部路由器的支持,较为复杂。


新的网络架构需要满足统一管理物理机、虚机和容器网络,实现直接互联互通;简化 Neutron agent,分布式架构实现 DHCP、metadata 等功能;在虚拟网络层面实现 vxlan;提供流量镜像等新功能。

方案实现

Cable 整体框架图


为了满足上诉需求,Cable 架构实现了如下两个关键点

1 虚拟数据平面

虚拟数据平面不再基于 OVS,而是采用功能更为丰富虚拟路由器 vrouter.ko。vrouter.ko 是 Juniper 的虚拟网络架构 OpenContrail 中的开源数据模块。相比于 OVS 的简单数据包转发,vrouter.ko 支持虚拟网络路由、vxlan、流表配置安全组、流表配置 nat/snat、流量镜像等功能。丰富的数据平面功能,简化了网络功能模块的开发难度。

2 自研管理平面

重新自研开发管理平面。管理平面统一管理 OpenStack 和 Kubernetes 网络模块;采用 Kubernetes 里的 watch 方式,主动监控平台资源变化情况,并执行相关操作;分布式实现 DHCP;用 vrouter.ko 中的 flow 功能实现 nat、安全组等。


Cable 工作流程



当用户请求到达 Neutron Server 后,Contrail Neutron Plugin 将请求转发至 Cable 的控制节点(Control Node)。控制节点的 proxy 转换请求发送至 API,API 将接收到的请求发送至相应模块,其中 controller 负责具体的计算和分配工作,IPAM 模块负责网络地址的管理。每台计算节点部署了 Cable agent,通过 Rest API 监听 Control Node 的资源,如监听到资源变化,则调用 vrouter.ko 执行相应请求(添加/删除/修改网络信息)。

与 Openstack 兼容

Cable 需要考虑如何与现有的虚拟网络结构兼容,使得 Neutron 能够平滑过渡到新的架构上。所以在保持 Neutron 原有接口不变的基础上,将 Neutron 的 db 替换为 etcd,并将 DHCP-agent,metadata-agent,l3-agent 替换为统一的 cable-agent。将 Neutron 用 Cable 替代后,OpenStack 的相关命令行和 Restful API 都没有变化,实现无缝切换,方便运维管理。


Cable 代替 Neutron 后架构图


总结

新的虚拟网络架构,兼容了不同网络平面,简化了网络功能模块,使得网络更为健壮。目前 Cable 的整体架构已经基本开发完成,实现了 DHCP、metadata 和 VLAN 架构网络,后续将实现安全组、VXLAN 等更多功能,并实现自动化部署,完善监控功能。


本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/NWftZCQNfO4crjOoUExKWg


2019-11-19 23:45887

评论

发布
暂无评论
发现更多内容

7款最佳免费需求管理工具详细对比

易成管理学

需求管理 需求管理工具

大模型 | Red Teaming, 无法忽视的关键一环

澳鹏Appen

人工智能 ChatGPT 生成式AI 红蓝对抗 red team

基于奇点云DataSimba,规划并新建数据生产域的实践

Geek_2d6073

AI 鲲鹏独角兽 | Kyligence 荣登毕马威中国人工智能创新双30企业榜单

Kyligence

数据分析 Data + AI

【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 网际协议IP详解。

百度搜索:蓝易云

云计算 Linux TCP 运维 IP

敏捷开发的核心原则和方法实践-深入理解Scrum

顿顿顿

Scrum 敏捷开发 敏捷研发工具 敏捷管理工具 scrum管理工具

“火焰杯”软件测试赛,河南工业大学人工智能与大数据学院获奖

测试人

专业屏幕录像软件推荐 Apeaksoft Screen Recorder免激活中文

mac大玩家j

录屏软件 Mac软件 屏幕录制软件

基于 Apache Kyuubi 实现分布式 Flink SQL 网关

网易数帆

大数据 flink 开源 Apache Kyuubi

复杂业务逻辑的判断与优化

ZA技术社区

大数据 科技 保险科技 众安保险 ZA技术社区

Linux远程管理协议

芯动大师

选择低代码开发的理由

树上有只程序猿

软件开发 低代码 传统开发

低代码源代码交付的平台有哪些?

这我可不懂

源代码 低代码平台

ONLYOFFICE:一个免费、开源、跨平台的办公神器

陈橘又青

远程办公 文档 协同办公 协同文档

iPhone垃圾清理器 AnyMP4 iOS Cleaner最新中文版

胖墩儿不胖y

Mac软件 清理工具 清理器

Flink OLAP 在字节跳动的查询优化和落地实践

Apache Flink

大数据 flink 实时计算

Mac平台好用的文件对比工具 Beyond Compare 4

展初云

Mac软件 Beyond Compare 4 for Mac 文件对比工具

斯坦福发布 最新 GPT 模型排行榜 AlpacaEval【AI工具免费使用】

袁袁袁袁满

大模型 GPT AI绘画 ChatGPT

免费的国产数据集成平台推荐

RestCloud

数据同步 ETL

UML软件哪个好?10款好用的UML工具和画图软件推荐!

彭宏豪95

UML 在线白板 UML建模工具 绘图软件 绘图工具

Git基本知识

百度搜索:蓝易云

git 云计算 Linux 运维 云服务器

国内仅有的两个“代码生成型”低代码平台之对比

编程之成住坏空

低代码 无代码 代码生成 代码自动生成 代码生成器

分享10个免费的Python代码仓库,轻松实现自动化办公(上)

程序员晚枫

Python

Nxyz是怎么样的一个搜索平台?

币离海

区块链 Web3.0 nxyz

云上探索实验室-码上学堂领学员招募,正式启动!

科技热闻

文心一言 VS 讯飞星火 VS chatgpt (116)-- 算法导论10.3 1题

福大大架构师每日一题

福大大架构师每日一题

LeetCode题解:剑指 Offer 03. 数组中重复的数字,原地置换,JavaScript,详细注释

Lee Chen

LeetCode

注释在编程中的重要性:理解程序员的两难选择

小魏写代码

Cable--新虚拟网络架构介绍_文化 & 方法_虚拟化网络团队_InfoQ精选文章