이 장에서 설명되는 아키텍처에서는 Neutron API 서비스가 컨트롤러 노드에서 실행됩니다. 이 서비스가 네트워크 노드에 설치된 EVS 컨트롤러와 통신할 수 있도록 하려면 컨트롤러의 neutron 사용자에 대한 공개 SSH 키가 네트워크 노드의 evsuser 사용자의 authorized_keys 파일에 있어야 합니다.
controller# pkg install neutron
이 키는 Neutron API 서비스가 EVS 컨트롤러에 액세스할 수 있도록 해줍니다.
ssh-keygen 명령을 neutron 사용자로 사용하고 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
getent hosts 명령에 네트워크 노드의 IP 주소를 사용하여 네트워크 노드의 이름을 가져옵니다.
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