IDCF 클라우드에 Stable의 CoreOS 494.5.0을 ISO에서 설치

IDCF 클라우드에 Stable의 CoreOS 494.5.0을 ISO에서 설치

2022-10-04 last update

7 minutes reading CoreOS Couchbase IDCF 클라우드
IDCF 클라우드에 CoreOS를 ISO에서 설치합니다. 이 용도는 Couchbase Server 클러스터를 구축하기 때문에 AWS CloudFormation cloud-config를 참조하여 설치합니다. 최근에는 etcd를 전용으로 1개 밖에 만들지 않는 것이 많았습니다만, 평소대로 모든 CoreOS의 가상 머신에 etcd를 인스톨 합니다.

Couchbase Server용 CoreOS 클러스터



CoreOS를 사용하는 방법은 Couchbase Labs 공식 Docker 이미지를 참조합니다.
  • Running Couchbase Cluster Under CoreOS on AWS
  • tleyden5iwx/couchbase-server-3.0.1
  • couchbase-server-docker

  • ISO 등록 정보



    현재 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)
  • 내보내기: 사용
  • 부팅 가능: 유효

  • 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를 분리합니다.