本帖最后由 新手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上 |