Oracle® Solaris에서 OpenStack(Kilo) 설치 및 구성

인쇄 보기 종료

업데이트 날짜: 2016년 6월
 
 

Neutron 설치

이 장에서 설명되는 아키텍처에서는 Neutron API 서비스가 컨트롤러 노드에서 실행됩니다.

Neutron을 설치 및 구성하는 방법

  1. 다음 구성 파일에서 매개변수를 설정하거나 주석을 해제하여 Neutron을 구성합니다.
    • /etc/neutron/neutron.conf

      [DEFAULT]
      host=$CONTROLLER_ADMIN_NODE
      
      [keystone_authtoken]
      auth_uri = http://$CONTROLLER_ADMIN_NODE:5000/v2.0
      identity_uri = http://$CONTROLLER_ADMIN_NODE:35357
      admin_user = neutron
      admin_password = service-password
      admin_tenant_name = service
      
      [database]
      connection = mysql://neutron:service-password@$CONTROLLER_ADMIN_NODE/neutron
      
      [oslo_messaging_rabbit]
      rabbit_host=$CONTROLLER_ADMIN_NODE
      
    • /etc/neutron/plugins/evs/evs_plugin.ini

      [EVS]
      evs_controller = ssh://evsuser@$CONTROLLER_ADMIN_NODE
      
    • /etc/neutron/dhcp_agent.ini

      [DEFAULT]
      evs_controller = ssh://evsuser@$CONTROLLER_ADMIN_NODE
      
    • /etc/neutron/l3_agent.ini

      evs_controller = ssh://evsuser@$CONTROLLER_ADMIN_NODE

      주 -  기본적으로 클라우드에서 프로젝트의 내부 네트워크는 서로 격리되어 있습니다. 프로젝트 네트워크는 다른 프로젝트의 네트워크와 통신하지 않고 서로와만 통신할 수 있습니다. 클라우드에서 모든 네트워크를 사용으로 설정하여 네트워크가 속하는 프로젝트에 상관없이 서로 연결하려면 다음 매개변수 설정을 사용하여 /etc/neutron/l3_agent.ini 파일을 편집합니다.
      allow_forwarding_between_networks = true

  2. SSH 키 쌍이 사용되도록 설정합니다.
    1. evsuser, neutronroot 사용자에 대한 SSH 키 쌍을 만듭니다.
      controller# su - evsuser -c "ssh-keygen -N '' \
      -f /var/user/evsuser/.ssh/id_rsa -t rsa"
      controller# su - neutron -c "ssh-keygen -N '' -f /var/lib/neutron/.ssh/id_rsa -t rsa"
      controller# ssh-keygen -N '' -f /root/.ssh/id_rsa -t rsa
    2. evsuserauthorized_keys 파일에서 evsuser, neutronroot 사용자의 SSH 키를 조합합니다.
      controller# cat /var/user/evsuser/.ssh/id_rsa.pub \
      /var/lib/neutron/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub >> \
      /var/user/evsuser/.ssh/authorized_keys
    3. SSH 연결을 테스트하여 known_host 파일에 저장될 지문을 수락합니다.

      확인을 요청하는 메시지가 표시될 때마다 Yes를 지정합니다.

      controller# su - evsuser -c "ssh evsuser@$CONTROLLER_ADMIN_NODE true"
      controller# su - neutron -c "ssh evsuser@$CONTROLLER_ADMIN_NODE true"
      controller# ssh evsuser@$CONTROLLER_ADMIN_NODE true
  3. EVS(탄력적 가상 스위치)를 구성합니다.

    주 -  다음 하위 단계에서는 구체적으로 VLAN 기반 네트워크에 대한 EVS를 구성합니다.

    VXLAN 기반 네트워크를 구성하려면 해당 Oracle Solaris 버전의 라이브러리(Operating Systems Documentation)에서 Managing Network Virtualization and Network Resources in Oracle Solaris로 이동하십시오. 이 설명서에서 구체적으로 Use Case: Configuring an Elastic Virtual Switch for a Tenant 절을 참조하십시오.

    플랫 네트워크 구성 방법의 예는 https://blogs.oracle.com/openstack/entry/configuring_the_neutron_l3_agent를 참조하십시오.


    1. EVS 컨트롤러의 위치를 지정하도록 EVS 등록 정보를 설정합니다.
      controller# evsadm set-prop -p controller=ssh://evsuser@$CONTROLLER_ADMIN_NODE
    2. EVS 컨트롤러의 l2-type, vlan-rangeuplink-port 등록 정보를 구성합니다.
      controller# evsadm set-controlprop -p property=value

      그림 1에 나온 대로 대개 서로 다른 서브넷을 서비스하는 여러 네트워크 인터페이스를 가집니다. uplink-port 등록 정보를 설정할 때 서브넷을 제공하는 여러 네트워크 포트에 걸쳐 VLAN을 분할할 수 있습니다.

      다음 예에서는 VLAN 분할을 포함하여 EVS 등록 정보를 설정하는 방법을 보여줍니다. 선택적으로, 최종 명령을 사용하여 EVS 등록 정보를 모두 표시합니다.


      주 -  네트워크 포트에 걸쳐 VLAN을 분산하기 전에 먼저 VLAN 범위를 정의합니다. 그렇지 않으면 uplink-port 등록 정보를 구성할 수 없습니다.
      controller# evsadm set-controlprop -p l2-type=vlan
      controller# evsadm set-controlprop -p vlan-range=1,200-300
      controller# evsadm set-controlprop -p uplink-port=net0,vlan-range=1
      controller# evsadm set-controlprop -p uplink-port=net1,vlan-range=200-250
      controller# evsadm set-controlprop -p uplink-port=net2,vlan-range=251-300
      
      controller# evsadm show-controlprop -o all
  4. IP 전달을 사용으로 설정합니다.
    controller# ipadm set-prop -p forwarding=on ipv4
    controller# ipadm set-prop -p forwarding=on ipv6
  5. IP 필터 서비스를 시작합니다.
    controller# svcadm enable -rs ipfilter
  6. Neutron 서버 서비스를 사용으로 설정합니다.
    controller# svcadm enable -rs neutron-server neutron-dhcp-agent