다양한 에이전트를 연동하는 메커니즘 드라이버
이전에는 컴퓨트 노드에 각각 다른 에이전트(Agent)를 설치하면 컴퓨트 노드끼리 서로 연동할 수 없었습니다. 예를 들어 한 컴퓨트 노드에는 Linuxbridge가 설치되어 있고 또 다른 컴퓨트 노드에는 OpenvSwitch가 설치되어 있다면, Neutron 서버는 연결할 수 있지만 두 컴퓨트 노드끼리는 서로 연동할 수 없었습니다. 그래서 나온 개념이 바로 ML2의 메커니즘 드라이버(Mechanism Drivers)입니다. 메커니즘 드라이버의 에이전트는 OpenvSwitch, Linuxbridge, Hyper-V 등을 그대로 사용할 수 있습니다. 또 아리스타 메커니즘 드라이버나 Cisco Nexus 메커니즘도 사용할 수 있고 서로 다른 컴퓨트 노드도 연동할 수 있습니다.
그림 3-7처럼 컴퓨트 노드마다 설치된 서로 다른 에이전트는 Modular 에이전트로 추상화되어 ML2 플러그인으로 모두 연동할 수 있습니다.
▲ 그림 3-7 추상화된 에이전트와 ML2 플러그인
Tip 컴퓨트 노드에 설치되는 에이전트 기능
컴퓨트 노드에 설치되는 에이전트는 Neutron 서버에서 전달된 네트워크 관련 명령어를 Linuxbridge나 OpenvSwitch에 전달해서 네트워크 생성, 연결, 삭제 기능을 수행할 수 있게 합니다.