在本章介绍的体系结构中,Neutron API 服务在控制器节点上运行。要使该服务能够与网络节点上安装的 EVS 控制器通信,则控制器的 neutron 用户的 SSH 公钥必须放在网络节点的 evsuser 用户的 authorized_keys 文件上。
controller# pkg install neutron
此密钥将允许 Neutron API 服务访问 EVS 控制器。
以 neutron 用户身份使用 ssh-keygen 命令,并为 neutron 用户创建密钥。
controller# su - neutron \ -c "ssh-keygen -N '' -f /var/lib/neutron/.ssh/id_rsa -t rsa"
将之前步骤中生成的 SSH 公钥 /var/lib/neutron/.ssh/id_rsa.pub 复制到运行 EVS 控制器的节点上。配置 EVS 控制器时将引用此密钥。
指定 Keystone 验证信息和 RabbitMQ 服务的位置。在 /etc/neutron/neutron.conf 文件中,取消对以下参数的注释并进行设置:
rabbit_host = controller-name auth_uri = http://controller-name:5000/v2.0 identity_uri = http://controller-name:35357 admin_tenant_name = service admin_user = neutron admin_password = neutron-password
将网络节点的 IP 地址和 getent hosts 命令一起使用,以获取网络节点的名称:
network# getent hosts network-IP network-IP network-name
在 /etc/neutron/plugins/evs/evs_plugin.ini 文件中,取消对以下参数的注释或进行设置。使用 getent hosts 命令的输出以设置 EVS 控制器的位置:
evs_controller = ssh://evsuser@network-name sql_connection = path-to-database
controller# svcadm enable neutron-server