이번 포스트에서는 멀티 도커 호스트 사용자를 위한 Flannel 사용법을 가이드한다. 0. 배경 일반적으로는 도커가 설치되고 최초로 실행될 때, docker0 이라는 가상 네트워크 인터페이스를 생성한다. docker0에서 지정된 서브넷 안에서 컨테이너의 IP가 priavte로 할당되며, 외부와의 연결을 위해서는 이 작업이 필수적이다.
이는 알아서 작동되기 때문에 이에 대해서는 평소엔 신경쓰지 않는다. 그러나 문제는, 여러 개의 도커 호스트 안에서 컨테이너를 돌리고, 그 컨테이너들끼리의 네트워크가 가능한가?
에 대한 여부이다. 위와 같은 상황을 가정해보자. 1번 호스트에는 172.0.1.5 사설 IP를 할당받은 컨테이너, 2번 호스트에는 172.0.1.6 사설 IP를 할당받은 컨테이너가 있다. 172.0.1.5 컨테이너에서 ping 172.0.1.6 을 입력하면, 당연히 안된다.
될 리가 없다. 당연하다.
도커가 할당해준 사설 IP는 자신의 도커 호스트 안에서만 사용할 수 있는 것이지...