2017년 7월 7일 금요일

Kuryr, Docker for Openstack Neutron

Kuryr is Docker for Openstack Neutron

Kuryr에 대한 나의 느낌

Openstack에 익숙해지니까, Docker Container가 유행했고, Docker Container를 가지고 이것저것 테스트하면서 Docker Container 격리 기술에 익숙해니까, 
Kubernetes, Swarm, Mesos 같은 container cluster 기술이 등장하면서 또 한차례 괴로움을 느꼈다.
(신기술이 나오면, 반가워야 하는데... 변화와 진화 속도가 너무 빨라서 내가 괴로울 때가 있다)

이제 container cluster 기술에 익숙해지니까, Openstack과 container를 같이 사용하자는 제안이 여기저기서 나온다.
잘 모르고 생각하면, Openstack과 Docker container를 같이 쓰는 것은 좋아 보이지만 Network 관리하는 방식이나 Network driver가 서로 달라서 Bare Metal Machine(HW)만 공유할 뿐 실제 Network driver를 같이 사용하는 것은 안 되어 진정한 cluster라고 할 수 없다.
즉, 한개의 Bare Matal Machine에 2개의 Cluster platform이 따로 운영되는 것이다.
(무슨 의미인지 마음으로 느껴지지 않는다면, Openstack으로 다양한 Network을 구성하고 테스트해보라. Openstack Neutron으로 networking을 한다는 것이 쉽지 않음을 알 수 있다. 게다가 다른 cluster와 overlay network을 구성하려면 더 괴롭힘을 당할 수 있다는 것도 알 것이다)

그런데 작년부터 이런 문제를 간파하고 똘똘한 개발자가 Openstack neutron과 
Swarm network driver를 같이 쓸 수 있는 network driver를 만들었다.
개발 Motive와 Concept이 아주 훌륭한다.
이렇게 세상이 필요로 하는 것을 만들어준 개발자에게 존경을 표한다 ^^

Openstack neutron과 Swarm network을 같이 공유할 수 있게 해주는 것이
Kuryr network driver이다. 발음이 좀 어렵다.
YouTube에서 Kuryr 소개 영상을 보면, 발표자가 Kuryr를 어떻게 발음하는지 들을 수 있으나 발표자마다 발음이 제각각이다. ^^
표준 어휘가 아니니까 발음에 대해서는 각자의 개성에 맡겨야 할듯하군.



Using existing Neutron networks

아래와 같이 neutron이 생성한 Network UUID를 이용해서 docker network과 연동할 수 있다.


$ docker network create -d kuryr --ipam-driver=kuryr --subnet=10.10.0.0/24 --gateway=10.10.0.1 \
   -o neutron.net.uuid=d98d1259-03d1-4b45-9b86-b039cba1d90d mynet

또는 neutron의 network name을 직접 이용하여 docker network이 neutron network을 참조할 수 있다.

$ docker network create -d kuryr --ipam-driver=kuryr --subnet=10.10.0.0/24 --gateway=10.10.0.1 \
   -o neutron.net.name=my_neutron_net mynet


Using existing Neutron ports

Container를 생성할 때, Neutron ports의 특정 ip address를 지정하는 것이 된다. 

$ docker run -it --net=kuryr_net --ip=10.0.0.5 ubuntu

그러나, Docker swarm network이 Neutron ports를 참조하는 것은 안 될 것 같다. swarm service를 구성하는 각 container는 docker engine이 해당 network의 subnet 정보를 확인하여 자동 할당해주는 ip address를 사용하도록 되어 있으니까.









You can get more information from


댓글 없음:

댓글 쓰기