
IDCF 클라우드에 Stable의 CoreOS 494.5.0을 ISO에서 설치
IDCF 클라우드에 CoreOS를 ISO에서 설치합니다. 이 용도는 Couchbase Server 클러스터를 구축하기 때문에 AWS CloudFormation cloud-config를 참조하여 설치합니다. 최근에는 etcd를 전용으로 1개 밖에 만들지 않는 것이 많았습니다만, 평소대로 모든 CoreOS의 가상 머신에 etcd를 인스톨 합니다.
CoreOS를 사용하는 방법은 Couchbase Labs 공식 Docker 이미지를 참조합니다.
Running Couchbase Cluster Under CoreOS on AWS tleyden5iwx/couchbase-server-3.0.1 couchbase-server-docker
현재 CoreOS ISO는 Stable의 494.5.0이었습니다. 먼저 IDCF 클라우드에 ISO를 등록한 다음 CoreOS 가상 머신을 만듭니다.
ISO 이름: coreos_49450 설명: coreos_49450 URL: h tp : / / s b ぇ. 레아아세. 이것-오. 네 t/아 md64-우 sr/쿤 t/이것 s_p 로즈c 치온_이소_이마게. 이소
구역: tesla OS 유형: Other (64-bit) 내보내기: 사용 부팅 가능: 유효
IDCF 클라우드 포털 화면에서 조작하여 업로드한 ISO에서 CoreOS 가상 머신을 만듭니다. ISO에서 시작한 가장 기계에는 암호 인증을 하기 때문에 SSH Key는 지정하지 않습니다. Running 상태가 되면 콘솔을 엽니다. 브라우저에서 열린 콘솔에서 코어 사용자에게 비밀번호를 지정하여 SSH 연결을 통해 비밀번호 인증을 허용합니다.
아까 콘솔에서 패스워드를 설정했으므로 패스워드로 SSH 접속이 가능하게 되어 있습니다. ISO에서 부팅한 가상 머신은 Live DVD에서 부팅한 Linux와 동일하며 디스크에 영구화되지 않습니다. 디스크에 CoreOS를 설치한 후 사용합니다.
AWS CloudFormation 템플릿를 참조하여 cloud-config.yml을 만듭니다.
discovery는
~/cloud-config.yml
cloud-conig.yml을 사용하여 디스크에 CoreOS를 다시 설치합니다.
reboot 후, 공개키를 사용해 SSH 접속을 할 수 있게 됩니다.
cloud-config.yml에서
fleetctl에서 fleet 클러스터에 가장 머신이 추가되었는지 확인합니다.
마지막으로 IDCF 클라우드 포털에서 가상 머신을 중지하고 ISO를 분리합니다.
Couchbase Server용 CoreOS 클러스터
CoreOS를 사용하는 방법은 Couchbase Labs 공식 Docker 이미지를 참조합니다.
ISO 등록 정보
현재 CoreOS ISO는 Stable의 494.5.0이었습니다. 먼저 IDCF 클라우드에 ISO를 등록한 다음 CoreOS 가상 머신을 만듭니다.
CoreOS 가상 머신 만들기
IDCF 클라우드 포털 화면에서 조작하여 업로드한 ISO에서 CoreOS 가상 머신을 만듭니다. ISO에서 시작한 가장 기계에는 암호 인증을 하기 때문에 SSH Key는 지정하지 않습니다. Running 상태가 되면 콘솔을 엽니다. 브라우저에서 열린 콘솔에서 코어 사용자에게 비밀번호를 지정하여 SSH 연결을 통해 비밀번호 인증을 허용합니다.
$ sudo passwd core
CoreOS를 디스크에 설치
아까 콘솔에서 패스워드를 설정했으므로 패스워드로 SSH 접속이 가능하게 되어 있습니다. ISO에서 부팅한 가상 머신은 Live DVD에서 부팅한 Linux와 동일하며 디스크에 영구화되지 않습니다. 디스크에 CoreOS를 설치한 후 사용합니다.
$ ssh [email protected] -o PreferredAuthentications=password
AWS CloudFormation 템플릿를 참조하여 cloud-config.yml을 만듭니다.
discovery는
https://discovery.etcd.io/new
를 실행하여 새로 작성합니다. addr 및 peer-addr은 CoreOS 클러스터가 동일한 VLAN 내에 구축되므로 가상 시스템의 개인 IP 주소를 지정합니다. ssh_authorized_keys는 임의의 공개 키를 지정합니다.write_files
의 /etc/environment
이외의 3개가 Couchbase Server용의 파일입니다. Couchbase Server를 사용하지 않는 경우 이 세 가지는 필요하지 않습니다.~/cloud-config.yml
#cloud-config
write_files:
- path: /etc/environment
content: |
COREOS_PUBLIC_IPV4=
COREOS_PRIVATE_IPV4=10.3.0.47
- path: /etc/systemd/system/docker.service.d/increase-ulimit.conf
owner: core:core
permissions: 0644
content: |
[Service]
LimitMEMLOCK=infinity
- path: /var/lib/couchbase/data/.README
owner: core:core
permissions: 0644
content: |
Couchbase Data files are stored here
- path: /var/lib/couchbase/index/.README
owner: core:core
permissions: 0644
content: |
Couchbase Index files are stored here
coreos:
etcd:
discovery: https://discovery.etcd.io/d7bd532d2f3b86b050515bf3bdc1d93d
addr: 10.3.0.47:4001
peer-addr: 10.3.0.47:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: docker.service
command: restart
- name: timezone.service
command: start
content: |
[Unit]
Description=timezone
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/ln -sf ../usr/share/zoneinfo/Japan /etc/localtime
write_files:
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC...
cloud-conig.yml을 사용하여 디스크에 CoreOS를 다시 설치합니다.
$ sudo coreos-install -d /dev/sda -C stable -c ./cloud-config.yml
$ sodo reboot
reboot 후, 공개키를 사용해 SSH 접속을 할 수 있게 됩니다.
$ ssh -A [email protected]
확인
cloud-config.yml에서
write_files
파일을 확인합니다.$ cat /var/lib/couchbase/data/.README
Couchbase Data files are stored here
fleetctl에서 fleet 클러스터에 가장 머신이 추가되었는지 확인합니다.
$ fleetctl list-machines
MACHINE IP METADATA
f0f5fcc4... 10.3.0.47 -
마지막으로 IDCF 클라우드 포털에서 가상 머신을 중지하고 ISO를 분리합니다.