OpenStack + OpenDaylight
- OpenStack과OpenDaylight, SDN, 그리고 NFV와의 관계를 알아보자.
OpenStack 네트워크 관련 스택
- Metering (Ceilometer)
- 계측기능
- 경고(알람) 기능
- Orchestration (Heat)
- 오케스트레이션 기능
- Ceilometer와 연동하여 자동 Scale in/out 서비스를 제공
- VPNaaS, FWaas, LBaaS, ..., etc
- Networking (Neutron)
- 네트워크 관리 기능
OpenStack Orchestration (Heat)
- 주된 사용 용도
- 다수의 인스턴스의 연동이 필요하거나,
- 단일 서비스 인스턴스를 확장할 때 사용
- 인스턴스의 오케스트레이션 기능을 제공하며,
- 어플리케이션의 디플로이를 쉽게 해 줌
- TOSCA
- Topology and
- Orchestration
- Specification for
- Cloud
- Application
OpenStack Networking (Neutron)
- 클라우드에 네트워크를 관리
- 다수의 써드파티 플러그 인 형태로 선택해서 사용
- Cisco
- Juniper
- Midokura
- NEC
- Mellannox
- 모듈형 레이어 2 (ML2) 플러그 인
- OpenStack Havana 릴리즈 이후부터 플러그인 형태로 제공되었으며,
- OSI Layer2기술을 제공하는 플러그인.
ML2 PlugIn (Midonet)
- 엣지오버레이형 네트워크 플러그인 (midonet)
- IaaS 클라우드 를 위해서 개발
- 제어 콘트ㄹ러 기능을 분산함
- 데이터 베이스가 네트워크 토폴로지 정보를 가짐
ML2 PlugIn (Cisco Nexus)
- Cisco Open Cloud
- USS, Nexus, Cisco One 기술을 사용해서 OpenStack관 연동
- Cisco SDN 기반
- Nexus 1000v
- onePK
- ONE Controller
- Cisco Open Cloud Solution
- OpenStack기반
- Video Scalable Object Storage
- Scalable Message Bus
- App Metering
- 가상화 기반의 네트워크 어플리케이션 서비스을 제공이 목적
모듈형 Layer2 Plugin
- Neutron Server에서 ML2 Plugin형태로 서비스 제공
- ML2 TypeDriver
- Local
- Flat
- GRE
- VLAN
- VXLAN
- Mechanism Manager
- Arista
- Cisco Nexus
- Hyper-V
- L2 Population
- Linux bridge
- Open vSwitch
- Tail-F NCS
ML2를 사용한 클라우드 동작 과정
- Host1, Host2, 그리고 Cisco Nexus Switch가 있다고 가정
- Host1 에서 동작
- Nova API에 의해서 Nova Compute생성
- Neutron Server에 의해서 Neutron OVS Agent 생성
- Neutron DHCP에 의해서 Neutron L3 Agent 생성
- 네트워크 구성
- VM1 -> br-int -> br-eth2 - eth2
- Host2 에서 동작
- Nova API에 의해서 Nova Compute생성
- Neutron Server에 의해서 Neutron OVS Agent 생성
- Neutron DHCP에 의해서 Neutron L3 Agent 생성
- 네트워크 구성
- VM2 -> br-int -> br-eth2 - eth2
- Host1에서 OVS Agent 동작
- ML2 OVS Mechanism Driver에 의해서
- VM1용 br-eth2 포트에
- 가상 NIC IF에 VLAN 추가
- Host2에서 OVS Agent 동작
- ML2 OVS Mechanism Driver에 의해서
- VM2용 br-eth2 포트에
- 가상 NIC IF에 VLAN 추가
- OpenStack 자동 설정 후 VM1-VM2간 ping으로 상호 통신 테스트 실시
- VM1에서 발생한 패킷의 이동 경로
- Host1
- VM1 -> Br-int -> Br-eth2 -> eth2
- Host1 -> Cisco Neus Switch -> Host2
- eth2/1 에서 Host1의 패킷 수신
- ML2 Cisco Nexus Mechanism Driver에서
- eth2/1에 VLAN 트렁크 설정
- eth2/2 에서 Host2로 패킷 전달
- ML2 Cisco Nexus Mechanism Driver에서
- eth2/2에 VLAN 트렁크 설정
- Host2
- eth2 -> Br-eht2 -> Br-int -> VM2
OpenDaylight에서 OpenStack Neutron용 ML2 PlugIn
- SDN Controller인 OpenDaylight에서 OpenStack용 서비스 NBI 공개
- Neutron API
- OpenDaylihgt 내 다수의 Neutron network을 실장
- OpenStack과 OpenDaylight의 Structure
- OpenStack Neutron
- Neutron plugin
- OpenDaylight APIs (REST)
- Netutron service
- VTN Provider
- DOVE Provider
- Other Provider
- OpenStack Neutron
- 최초 릴리즈 OpenDaylight에서는 L4~L7 서비스는 제공하지 않았음.
- Open vSwitch와의 연동
댓글 없음:
댓글 쓰기