原生Openstack学习笔记(二)---Nova、Neutron(顺带画了VXLAN两者部署方式)
  

新手051481 2154

{{ttag.title}}
本帖最后由 新手051481 于 2020-7-22 14:58 编辑

图和概念解释都是工作时自己总结的,随心而发,写意主义,如果有疑义或者不同意见,欢迎提出~


Nova:
Nova API:HTTP服务,用于接收处理请求(虚机生命周期管理)
Nova Scheduler: 调度服务,当客户端(horizon/cli)向Nova服务器发起请求时,决定创建在哪个节点上。
Nova Conductor:RPC服务,对RDB的基本操作,指挥compute
Nova  novncproxy   consoleauth:远程登录
Nova compute:实现关于虚机生命周期的请求(创建、列出、删除、管理、迁移)
Rabbitmq Server: 消息队列,  AMQP

调度:
1.过滤:过滤掉不符合要求的主机,通过filter过滤
2.权重:对符合要求的主机列表进行权重排序


云平台 资源模型图:
用户:region--AZ--VPC(核心)--…

云管理员:Region--AZ(DC)--POD(openstack)-- 集群(主机组)--Server

Nova实验:  创建一台ECS
用户:
管理员用户admin:项目、管理员、身份管理

普通用户:项目、身份管理

---主机聚合:实例类型(规格flavor)


在上云或者虚拟化过程中,规模较小的话 可以直接用虚拟化  , 规模较大可以使用私有云

在openstack中创建ECS:
1.ECS基本信息(名字,个数)
2.选择镜像
3.选择规格
4.网络
5.存储



Neutron/Quantum
网络服务:实现用户自定义网络
通过plugins支持SDN

Neutron API 提供openstack其他服务或者用户接口

抽象层:网络功能(资源)抽象,网络、子网、端口、路由

Plug-in:集成网络设备






















1.Neutron通过plugin和agent提供网络服务
2.plugin在Neutron Server:core plugin (ML2)和 service plugin
3.agent在各个节点上,实现网络服务:linux bridge和 OVS
4.service plugin和agent:提供扩展功能,包括DHCP、routing、LB、FW、VPN…

资源:
网络Network:内部L2 二层网络单元,一个Network必须属于一个Project,一对多,在一个project里面可以创建多个network:网络类型
local:local网络与其他网络、节点隔离,local网络中的实例只能与用一个节点上的同一个网络的实例通信,主要用于单机测试。
flat:扁平网络,网络内的实例只能和同一个网络的实例通信,可以跨多节点。
Flat DHCP/NAT: 将宿主网络和客户机网络分开,同时实现实例的动态IP划分。
Vlan:同一个VLAN内的实例可以相互通信,不同vlan间的实例必须经过router。
VXLAN:是一种基于隧道技术的overlay网络,隧道使用VNI进行区分,使用UDP报文进行封装(MAC IN UDP)。
GRE:与VXLAN类似的overlay网络,使用IP包而非UDP包封装。


子网Subnet:细分Network,按地址段,每个subnet必须定义IP地址的范围掩码,与subnet必须属于一个network,一对多,subnet地址段不能重叠
NetworkA subnetA-a 10.10.1.0/24(start 10.10.1.1   end  10.10.1.50)
NetworkB  subnetB-b 10.10.1.0/24(start 10.10.1.1   end  10.10.1.50)

端口Port:虚拟机端口、网卡,定义MAC IP,虚拟机的虚拟网卡VIF--PORT
                    port必须属于一个subnet,一对多。

路由器Router:三层


组件:
1.Neutron Server  对外提供网络API,接收请求,调用plugin处理
2.Plugin   处理Neutron Server发来的请求,维护网络状态,调用agent
3.Agent   处理plugin的请求,负责在Network Provider上实现网络功能
4.Network Provider 提供网络服务的虚拟或者物理设备,linux bridge和 OVS或者支持Neutron的物理交换机。
5.MQ   Neutron Server、Plugin和Agent通信和调用
6.DataBase 存放openstack的网络状态,资源的信息

部署方案
1.控制+计算











2.控制+计算+网络














多网卡流量区分
1.Management网络:节点直接MQ内部通信以及访问DB
2.API网络: 各组件的API均在此网络中,endpoint也配置在此网络中。
3.VM网络(Internal):VM之间通信,可以选择local,flat,vlan,vxlan,gre,由Neutron进行配置管理
4.External网络:为VM提供访问外部网络的能力,这个网络不由Neutron进行管理。



OVS模型
Br-ex:连接external网络的网桥
Br-int:集成网桥,所有VM和其他虚拟设备接到该网桥
Br-tun:隧道网桥,VXLAN和GRE网桥
tap接口
Linux Bridge:qbr

不同vpc之间互访:router,对等连接,EIP
同一个VPN内:不同网络:router
             相同网络:vSwitch
VM访问外网:NAT,EIP,External连接至公网


















软件SDN   vxlan L2网关在OVS上
硬件SDN  vxlan L2网关在TOR上

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

不懂就问 发表于 2020-7-28 14:23
  
本帖最后由 不懂就问 于 2020-7-28 14:27 编辑

首先感谢分享,灵魂画师和灵魂手稿,主要介绍了nova和Neutron组件的结构以及作用。           还是提一个建议吧,openstack属于一个比较复杂的云管理操作系统,组件较多,交互复杂。建议楼主每篇帖子可以就介绍一个组件,但是可以更细致的介绍。另外,我记得openstack的官网是有这些组件交互图的。
xin2004108 发表于 2020-7-24 18:35
  
连手稿都发上来了。
新手486484 发表于 2020-7-30 08:34
  
谢分享,学习一下,最喜欢这种手稿的分享
xin2004108 发表于 2020-7-30 18:51
  
感谢分享。
xin2004108 发表于 2020-8-3 19:08
  
又看了一遍。
新手589624 发表于 2020-8-24 08:09
  
感谢分享
发表新帖
热门标签
全部标签>
每日一问
技术笔记
功能体验
技术咨询
新版本体验
2023技术争霸赛专题
干货满满
技术盲盒
标准化排查
产品连连看
技术晨报
GIF动图学习
信服课堂视频
安装部署配置
运维工具
深信服技术支持平台
秒懂零信任
自助服务平台操作指引
答题自测
安全攻防
每日一记
用户认证
通用技术
云计算知识
SDP百科
畅聊IT
sangfor周刊
资源访问
排障笔记本
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
原创分享
解决方案
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
迁移
地址转换
虚拟机
存储
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手89785...

本周建议达人

YangZhe...

本周分享达人