본문 바로가기
가상화(VMware)/Doker&Container

Docker/Container

by Net Twerking 2022. 8. 17.
반응형

■ Host Type Docker Network 설정 

■이미 기본 host network이 있기때문에 더이상의 생성은 불가함, 따라서 기존 호스트를 사용해 네트워크 생성!

■Container가 NAT를 이용하지 않고 외부와 통신할 수 있는데, 컨테이너를 몇개를 만들든 하나의 host network로 여러 container가 각각 사용 가능하다

> Docker는 자신만의 MAC이나 IP를 가지고 있지 않기때문에 일반적으로는 이 방법을 사용하지 않음

■ Network 또한 host와 같이 none network도 하나만 생성가능

> Null type의 none network는 mac add나 ip가 없어 외부와 통신이 불가능함이 원칙

■ Volume Container 

Linux container에 directory를 mount하면 다른 linux container에 directory를 공유하는 방식

> network는 Container:test1의 같이 쓰겠다! 아래의 사진과 같이 test1,2 Container의 IP와 Mac addr가 같은것 확인

> 같은 서버를 올렸을때 부하 분산을 희망하는 경우에 이런 구조로 생성한다

* 근데 희망하는대로 되지 않음, 동일한 IP를 가지고 있기때문에 들어오는  Traffic에 대해 Guide가 없어 random하게 들어오기때문에 실제로 부하가 분산되거나 하는 일은 흔치 않은 경우임.

>> solution : L4장비를 써서 load-balancing을 해줘야 한다. 그래야 Traffic분산(부하분산)이 실현 가능함 

>> L4장비가 없을 경우 Container에도 Load-balancing을 지원하는 기능이 아래 두가지가 있다

① Bridge network + ② --net-alias 

■ Docker DNS Service > container-name(nginx1~3) : Alias(nginx) >> Round Robin적용 

nginx 라고 하는 host를 만든 후 각각 name: nginx-1 ~ 3까지의 container를 만든다!

#docker run -i -t -d --name nginx-1 --net my_bridge --net-alias nginx ubuntu

#docker run -i -t -d --name nginx-2 --net my_bridge --net-alias nginx ubuntu

#docker run -i -t -d --name nginx-3 --net my_bridge --net-alias nginx ubuntu

각 3개의 Container 생성 + clinet container 생성

#docker run -i -t -d --name client --net my_bridge ubuntu

>> 각각 apt update / apt install net-tools / apt install iputils-ping / apt install curl 설치 

client container에 접속 후 각각 nginx1~3 까지 트래픽 분산 확인한다 .

 

Load-balance 를 하는 기본적인 방법은 서버들을 하나처럼 만들면 됨. 

* 우리가 해볼것은 로드밸런서 없이 Container를 이용해 실현해보는것!


■ Mac VLAN Network

172.20.14.0/24 Network 다섯명 분할 

내 할당 범위는 172.20.14.112/28 !

 

> 로컬에서 생성 container로 ping test

> nginx 설치 후 바로 웹서비스 이용 가능 확인 

>> * Router없이 Network 확장 가능한 VxLAN, Open-vSwitch(표준가상스위치 분산가상스위치와 같은 오픈소스기반), NSX연동 가능하다! 

반응형

'가상화(VMware) > Doker&Container' 카테고리의 다른 글

Kubernetes  (0) 2022.08.18
Docker/Container  (0) 2022.08.17
Docker/Container  (0) 2022.08.16