5.10. 네트워킹(Neutron)
OpenStack Networking(Neutron)은 클라우드 환경 내에서 네트워크 아키텍처를 생성할 수 있는 기능을 제공합니다. 이 프로젝트는 SDN(Software Defined Networking) 공급업체에 대한 여러 통합 지점을 제공합니다. 이러한 통합 포인트는 일반적으로 플러그인 또는 에이전트의 카테고리에 속합니다.
플러그인 을 사용하면 기존 Neutron 기능을 확장하고 사용자 정의할 수 있습니다. 벤더는 Neutron과 인증된 소프트웨어 및 하드웨어 간의 상호 운용성을 보장하기 위해 플러그인을 작성할 수 있습니다. 대부분의 벤더는 자체 드라이버 통합을 위한 모듈식 백엔드를 제공하는 Neutron의 Modular Layer 2(ml2) 플러그인의 드라이버를 개발하는 것을 목표로 합니다.
에이전트 는 특정 네트워크 기능을 제공합니다. 기본 Neutron 서버(및 해당 플러그인)는 Neutron 에이전트와 통신합니다. 기존 예로는 DHCP를 위한 에이전트, 계층 3 지원, 브리징 지원이 있습니다.
플러그인과 에이전트 모두 다음을 수행할 수 있습니다.
- OpenStack Platform 솔루션의 일부로 배포를 위해 포함하거나
- OpenStack Platform 배포 후 Overcloud 이미지에 추가합니다.
자체 인증된 하드웨어 및 소프트웨어를 통합하는 방법을 결정할 수 있도록 기존 플러그인 및 에이전트의 기능을 분석하는 것이 좋습니다. 특히 ml2 플러그인의 일부로 드라이버를 개발하는 것이 좋습니다.
업스트림 리포지토리:
업스트림 블루프린트:
- Launchpad: http://launchpad.net/neutron
Puppet 모듈:
Bugzilla 구성 요소:
- openstack-neutron
- python-neutronclient
- openstack-puppet-modules
- openstack-tripleo-heat-templates
통합 노트:
업스트림
neutron
프로젝트에는 다음과 같은 몇 가지 통합 포인트가 포함되어 있습니다.-
플러그인은
neutron/plugins/
에 있습니다. -
ml2 플러그인 드라이버는
neutron/plugins/ml2/drivers/
에 있습니다. -
에이전트는
neutron/agents/
에 있습니다.
-
플러그인은
-
OpenStack Liberty 릴리스 이후 많은 벤더별 ml2
플러그인이 네트워킹
부터 자체 리포지토리로 이동되었습니다. 예를 들어, Cisco 관련 플러그인은 https://github.com/openstack/networking-cisco에 있습니다. puppet-neutron
리포지토리에는 이러한 통합 지점을 구성하기 위한 별도의 디렉터리도 포함되어 있습니다.-
플러그인 구성은
manifests/plugins/
에 있습니다. -
ml2 플러그인 드라이버 구성은
manifests/plugins/ml2/
에 있습니다. -
에이전트 구성은
manifests/agents/
에 있습니다.
-
플러그인 구성은
-
puppet-neutron
리포지토리에는 구성 기능을 위한 다양한 추가 라이브러리가 포함되어 있습니다. 예를 들어neutron_plugin_ml2
라이브러리는 ml2 플러그인 구성 파일에 속성을 추가하는 함수를 추가합니다.