You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »


draw.io

Diagram attachment access error: cannot display diagram


도커 구동을 위한 VM 환경

파일구조

/docker1/Vagrantfile     - 192.168.56.201

/docker2/Vagrantfile     - 192.168.56.202

/docker3/Vagrantfile     - 192.168.56.203

복수개의 도커를 위한 VM을 위해 위와같은 구조로 File을 생성합니다. 각각의 VM은 가상의 Private 네트워크를 사용하게 될것입니다.

그리고 자신의 PC환경에는 도커와 관련된 어떠한 툴 설치없이 오로지 VM내부에서만 진행될 예정입니다.


구동파일

Vagrantfile
Vagrant.configure("2") do |config|
  config.vbguest.auto_update = false
  config.vm.box = "kleesc/coreos"
  config.vm.hostname = "docker1"
  config.vm.network "private_network", ip: "192.168.56.201"
  config.vm.provider "virtualbox" do |vb|
     vb.memory = "2048"
  end
end

도커구동을 위해한, 라이트하고 가벼운  최소 스펙의 리눅스 OS인 coreos 를 선택하였으며

os자체가 도커를 포함하고 있어서, 구동과 동시에 도커가 준비된 상태가 됩니다.

3개의 VM을 구동예정이며, 다르게 설정되어야 할값은 단지 메모리/호스트명/네트워크IP지정입니다.


파일을 위와같이 작성을 한후, Vagrantfile을 가지고 있는 디렉토리내에서 VM 컨트롤이 가능합니다.

주요 명령 요약

  • vagrant up : vm을 구동시킨다.
  • vagrant ssh : ssh접속
  • vagrant halt : vm 중지
  • vagrant reload : vm 재시작
  • vagrant destroy : vm 삭제

Rancher Server(UI)설치

docker1 디렉토리에서 Rancher Server를 직접 설치를 할것입니다.

vm 구동이 안되었다면 구동을 시킨후 vargrant ssh 로 vm 내부로 진입합니다.

내부 진입후 설치명령은 다음 한줄이면 됩니다.

sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server


도커를 통해 란쳐서버를 실행후 자신의 개발환경  브라우져에서 

http://192.168.56.201:8080 에 접근하여 소를 볼수 있으면 란쳐 설치 성공입니다.


Rancher 계정 설정


최초 설치를 하면 계정없이 모든권한이 부여된 상태로 시작하며, Admin → AccessControl 을 통해 Rancher를 이용할수 있는 권한 설정을 할수가 있습니다.

여러가지 Auth와 연동을 통한 SSO(Single Sign On)을 이용할수 있으며, 여기서는 LOCAL을 지정하고 직접 Admin 계정을 생성하겠습니다.



최초 인프라설치

Rancher UI에서 INFRASTRUCTURE 메뉴탭에 가면 인프라가 최초에는 비어 있습니다.

Add Host를 하여 최초 인프라를 추가 해보겠습니다.  ( Agent 추가라는 용어가 더 많이 사용됩니다.)

Server의 안정적인 운영을 위해 Agent는 일반적으로 Server와 같이 구동되지 않는 것이 좋으나

실습환경에서는 최초의 인프라(Agent)를 동일한곳에 설정하겠습니다.


클라우드 컴퓨터 파워가 있다고 하면, 클라우드 추가도 가능하며, 여기서 진행되는 샘플은 온전히 온프레미스 환경하에 클라우드 비용을 사용하지 않는것이니

Custom을 이용합니다.  필수 옵션은 아니지만 주요 설정은 라벨링 설정과 IP입니다.

  • 라벨링을 하는 이유 : 관리해야할 호스트가 많아지면, 나중에 서버의 역활과 롤이 애매해집니다. 이미 구성이 된 서버에 롤을 바꾸기는 쉽지 않습니다.  처음부터 네이밍을 잘하여 목적에 맞는 구동가능하며, 오토 스케일링 이용시 특정조건의 라벨링을 이용할수 있습니다.
  • IP를 지정하는 이유 : Server - Agent 에서 서버가 일반적으로 IP를 자동감지하여 Agent IP를 알수 있습니다. 하지만 Nat의 영향등으로 접근하지 못하는 IP가 감지될수 있음으로 서버가 Agent를 감지하거나 방화벽 정책상 접근할수있는 내부 IP를 명시를 해줍니다. 


Agent설치

필요한 옵션을 지정하면, 도커컨테이너를 통한 설치명령을 제공해 줍니다. 명령을 복사하여 해당 VM ( docker1) 에서 실행을 하면 1분 이내에 설치가 완료됩니다.

동일한 방법으로 도커를 뛰우기위한 공간(호스트)을 손쉽게 추가할수 있습니다.



  • No labels