더북(TheBook)

1~2번째 줄: 에디터에 현재 파일이 루비(ruby)임을 인식하게 하는 호환 코드입니다. 여기서 ft는 파일 종류(file type)의 약자이며, 해당 내용은 실행에 아무런 영향을 미치지 않습니다.

3번째 줄: "2"는 베이그런트에서 루비로 코드를 읽어 들여 실행할 때 작동하는 API 버전이고, 뒤의 do |config|는 베이그런트 설정의 시작을 알립니다.

4번째 줄: 버추얼박스에서 보이는 가상 머신을 "m-k8s"로 정의하고, do|cfg|를 추가해 원하는 설정으로 변경합니다. 이렇게 do |이름|으로 시작한 작업은 end로 종료합니다.

5번째 줄: 기본값 config.vm.boxdo |cfg|에 적용한 내용을 받아 cfg.vm.box로 변경합니다.

6번째 줄: 베이그런트의 프로바이더(provider)가 버추얼박스라는 것을 정의합니다. 프로바이더는 베이그런트를 통해 제공되는 코드가 실제로 가상 머신으로 배포되게 하는 소트프웨어입니다. 버추얼박스가 여기에 해당합니다. 다음으로 버추얼박스에서 필요한 설정을 정의하는데, 그 시작을 do |vb|로 선언합니다.

7~11번째 줄: 버추얼박스에 생성한 가상 머신의 이름, CPU 수, 메모리 크기, 소속된 그룹을 명시합니다. 그리고 마지막으로 end를 적어 버추얼박스 설정이 끝났음을 알립니다.

12번째 줄: 여기부터는 가상 머신 자체에 대한 설정으로, do |cfg|에 속한 작업입니다. 12번째 줄은 호스트의 이름(m-k8s)을 설정합니다.

13번째 줄: 호스트 전용 네트워크를 private_network로 설정해 eth1 인터페이스를 호스트 전용(Host-Only)으로 구성하고 IP는 192.168.1.10으로 지정합니다.2

14번째 줄: ssh 통신은 호스트 60010번을 게스트 22번으로 전달되도록 구성합니다. 이때 혹시 모를 포트 중복을 대비해 auto_correct: true로 설정해서 포트가 중복되면 포트가 자동으로 변경되도록 합니다.

15번째 줄: 호스트(PC 또는 노트북)와 게스트(가상 머신) 사이에 디렉터리 동기화가 이뤄지지 않게 설정(disabled: true)합니다.

16~17번째 줄: 설정 작업(do |config|, do |cfg|)이 종료됐음을 end 구문으로 명시합니다. 이때 doend의 들여쓰기(indentation) 위치가 정확하게 일치해야 합니다.

 

 


2 호스트 전용 네트워크는 호스트 내부에 192.168.1.0대의 사설망을 구성합니다. 가상 머신은 NAT(Network Address Translation, 네트워크 주소 변환) 인터페이스인 eth0를 통해서 인터넷에 접속합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.