前面咱们详细讨论了 Neutron 架构,包括 Neutron Server,Core 和 Service Agent。如今用两张图作个总结。
先看第一张:linux
与 OpenStack 其余服务同样,Neutron 采用的是分布式架构,包括 Neutorn Server、各类 plugin/agent、database 和 message queue。api
Neutron server 接收 api 请求。网络
plugin/agent 实现请求。架构
database 保存 neutron 网络状态。分布式
message queue 实现组件之间通讯。ide
metadata-agent 以前没有讲到,这里作个补充:spa
instance 在启动时须要访问 nova-metadata-api 服务获取 metadata 和 userdata,这些 data 是该 instance 的定制化信息,好比 hostname, ip, public key 等。orm
但 instance 启动时并无 ip,如何可以经过网络访问到 nova-metadata-api 服务呢?server
答案就是 neutron-metadata-agentip
该 agent 让 instance 可以经过 dhcp-agent 或者 l3-agent 与 nova-metadata-api 通讯
若是咱们将 Neutron 架构展开,则会获得下面第二张图:
Neutron 经过 plugin 和 agent 提供的网络服务。
plugin 位于 Neutron server,包括 core plugin 和 service plugin。
agent 位于各个节点,负责实现网络服务。
core plugin 提供 L2 功能,ML2 是推荐的 plugin。
使用最普遍的 L2 agent 是 linux bridage 和 open vswitch。
service plugin 和 agent 提供扩展功能,包括 dhcp, routing, load balance, firewall, *** 等。
至此,Neutron 架构已经讨论完,但愿你们已经理解。
下节开始,将经过实验来实践架构中的各个组件。
第一步将是准备实验用的物理环境。