가장 빨리 만나는 Docker 15장 - 1. VirtualBox에 CoreOS 설치하기

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

CoreOS 사용하기

이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20

VirtualBox에 CoreOS 설치하기

오픈 소스 가상화 소프트웨어인 VirtualBox(https://www.virtualbox.org/)에 CoreOS를 설치해보겠습니다. VirtualBox 설치 방법은 특별한 것이 없으므로 따로 설명하지 않겠습니다.

먼저 https://coreos.com/docs/running-coreos/platforms/iso/에 접속한 뒤 Download Stable ISO 버튼을 클릭하여 ISO 파일을 다운로드 합니다.

  • Stable Channel: 많은 테스트를 거친 안정 버전입니다.
  • Beta Channel: 알파 채널을 테스트한 뒤 등록된 버전입니다.
  • Alpha Channel: 가장 최신 버전입니다. Docker, etcd, fleet 모두 최신 버전이 포함됩니다.

그림 15-3 coreos.com에서 ISO 파일 다운로드

이제 VirtualBox를 실행하고 위쪽 새로 만들기(N) 버튼을 클릭합니다.

그림 15-4 VirtualBox

VirtualBox 가상 머신을 생성합니다(그림 15-5).

  • 이름: 가상 머신 이름입니다. CoreOS를 입력합니다.
  • 종류: 가상 머신에 설치될 운영체제 종류입니다. Linux를 선택합니다.
  • 버전: 가상 머신에 설치될 운영체제의 버전입니다. Other Linux (64-bit)를 선택합니다.

설정이 완료되었으면 다음(N) 버튼을 클릭합니다.

그림 15-5 VirtualBox 가상 머신 이름 및 운영체제 설정

가상 머신의 메모리 크기를 설정합니다. 저는 2048 MB를 설정하였습니다. 각자 알아서 적절한 크기로 설정하고 다음(N) 버튼을 클릭합니다(그림 15-6).

그림 15-6 VirtualBox 가상 머신 메모리 크기 설정

지금 가상 하드 드라이브 만들기(C)를 선택하고 만들기 버튼을 클릭합니다(그림 15-7).

그림 15-7 VirtualBox 하드 드라이브 생성

기본 값 그대로 VDI(VirtualBox 디스크 이미지)를 선택하고 다음(N) 버튼을 클릭합니다(그림 15-8).

그림 15-8 VirtualBox 하드 드라이브 파일 종류 선택

VirtualBox 하드 드라이브 파일의 저장 방식을 선택합니다. 기본 값 그대로 동적 할당(D)을 선택하고 다음(N) 버튼을 클릭합니다(그림 15-9).

그림 15-9 VirtualBox 하드 드라이브 파일 저장 방식 선택

VirtualBox 하드 드라이브 파일의 위치와 크기를 설정합니다. 여기서는 기본 값 그대로 8.00 GB를 설정하였습니다. 각자 알아서 적절한 크기를 설정하고 만들기 버튼을 클릭합니다(그림 15-10).

그림 15-10 VirtualBox 하드 드라이브 파일 위치 및 크기 설정

CoreOS용 가상 머신이 생성되었습니다. 위쪽 시작(T) 버튼을 클릭합니다.

그림 15-11 VirtualBox 가상 머신 생성 완료

가상 머신을 실행하면 그림 15-12처럼 시동 디스크 선택 창이 표시됩니다. 아래쪽 폴더 버튼을 클릭합니다.

그림 15-12 VirtualBox 시동 디스크 선택

앞에서 다운로드한 coreos_production_iso_image.iso 파일을 선택하고 열기 버튼을 클릭합니다(그림 15-13).

그림 15-13 CoreOS ISO 열기

CoreOS ISO 파일을 열었으면 시작 버튼을 클릭합니다(그림 15-14).

그림 15-14 VirtualBox 시동 디스크 선택

CoreOS ISO(CD) 파일로 부팅했습니다(그림 15-15). CoreOS는 따로 설치 화면이 없고 ISO 파일로 부팅한 coreos-install 명령을 사용하여 하드디스크에 설치하는 방식입니다.

그림 15-15 CoreOS ISO 부팅

간편하게 테스트하기 위해 SSH 키 설정 대신 비밀번호 방식을 사용하겠습니다. VirtualBox 안에서 다음 명령을 입력하여 비밀번호를 생성한 뒤 cloud-config.yaml로 저장합니다.

$ openssl passwd -1 > cloud-config.yaml
Password: <사용할 비밀번호 입력>
Verifying - Password: <사용할 비밀번호 다시 입력>

이제 vim으로 cloud-config.yaml 파일을 열고 다음과 같이 작성합니다.

cloud-config.yaml
#cloud-config

users:
- name: exampleuser
  passwd: $1$qeiJttft8$vs8v2Rnlw1iNkeAFnPwQ00
  groups:
    - sudo
    - docker
  • #cloud-config는 반드시 첫째 줄에 입력합니다.
  • users: 사용자 설정입니다.
    • name: 사용자 계정 이름입니다. 콘솔이나 SSH로 로그인할 때 이 사용자 이름을 사용하게 됩니다. exampleuser를 입력합니다.
    • passwd: 사용자 계정의 비밀번호 해시 값입니다. 앞에서 openssl 명령으로 생성한 비밀번호 해시 값을 그대로 사용합니다.
    • group: 사용자 계정의 그룹 설정입니다. root 권한으로 명령을 실행할 수 있도록 sudo 그룹을 설정하고, docker를 sudo 명령없이 실행할 수 있도록 docker 그룹을 설정합니다.

참고

SSH 키를 설정하려면 다음과 같이 작성합니다.

cloud-config-ssh.yaml
#cloud-config

users:
- name: exampleuser
  ssh-authorized-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQ<생략>
  groups:
    - sudo
    - docker

만약 GitHub 계정에 SSH 키를 등록해놓았다면 다음과 같이 작성하여 GitHub에서 SSH 키를 가져올 수 있습니다.

cloud-config-github.yaml
#cloud-config

users:
- name: exampleuser
  coreos-ssh-import-github: <GitHub 계정>
  groups:
    - sudo
    - docker

다음 명령을 실행하여 VirtualBox 가상 머신의 하드디스크(/dev/sda)에 CoreOS를 설치합니다.

$ sudo coreos-install -d /dev/sda -C stable -c cloud-config.yaml
  • -d: 설치할 하드디스크 장치입니다. /dev/sda를 설정합니다.
  • -C: 릴리스 채널입니다. stable을 설정합니다. 알파, 베타 채널을 사용하려면 alpha, beta를 설정합니다.
  • -c: 설정 파일 경로입니다. 앞에서 작성한 cloud-config.yaml을 설정합니다.

잠시 기다리면 CoreOS 설치가 완료됩니다. 다음과 같이 출력되면 설치가 끝난 것입니다.

Success! CoreOS stable <버전> is installed on /dev/sda

VirtualBox 가상 머신 화면에서 장치 → CD/DVD 장치 → 가상 드라이브에서 디스크 꺼내기를 클릭합니다(그림 15-16).

그림 15-16 VirtualBox 가상 머신에서 CoreOS ISO 파일 꺼내기

그림 15-17과 같은 창이 표시되면 강제 마운트 해제 버튼을 클릭합니다.

그림 15-17 VirtualBox 강제 마운트 해제

ISO 파일을 꺼냈으면 다음 명령을 입력하여 가상 머신을 재부팅합니다.

$ sudo reboot

VirtualBox 가상 머신이 재부팅된 뒤에 login에 exampleuser, Password에 앞에서 설정한 비밀번호를 입력하면 CoreOS에 로그인이 됩니다. VirtualBox 대신 SSH로 접속해도 됩니다.

그림 15-18 CoreOS에 로그인


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2014-11-30