标签:
一般agent的模块主要由Neutron api、core plugin(如linux bridge plugin,ovs plugin等)、XX agent scheduler、XX agent、XX driver(dnsmasq)构成.
在控制节点敲命令neutron agent-list, 可以查看到所有的agent
1.neutron-l3-agent,neutron-vpn-agent
跑在网络节点,负责处理三层事物例如路由等,两者相互冲突,只需要开一个进程
2.neutron-openvswitch-agent
跑在所有openstack节点,负责和openvswitch的交互处理二层事物。连通控制节点、网络节点和计算机点等。
代码:neutron.plugins.openvswitch.agent.ovs_neutron_agent:main
3.neutron-lbaas-agent
跑在网络节点,处理loadbanlance相关事物
4.neutron-fwaas-service, 确切的说该服务不能算是agent, 没有自己的进程,跑在vpn-agent里
5.neutron-metadata-agent
运行在网络节点,处理主机中cloud-init发出的metadata请求,neutron-metadata-agent会把这些请求从qrouter-xxx命名空间进程带起来的的neutron-ns-metadata-proxy程序或者qdhcp-xxx命名空间带起的neutron-ns-metadata-proxy进程转送到nova-api中包含的metadata-server.
详见另一边文章http://niusmallnan.github.io/_build/html/_templates/openstack/metadata_server.html
6.neutron-metering-agent
计量代理,为租户网络提供三层网络流量数据计量服务。
7.neutron-dhcp-agent
跑在网络节点,为租户网络提供3层的DHCP服务,即IP地址动态分配,另外还会提供metadata请求服务。
neutron-dhcp-agent的入口为neutron.agent.dhcp_agent:main,跟l3-agent的启动方式是类似的,都是以Service启动;Manager类为DhcpAgentWithStateReport,汇报DHCPAgent的状态。
标签:
原文地址:http://www.cnblogs.com/best-farmer/p/5624056.html