01. CoreOS を使用して Docker を動作させる 『CoreOS インストール』

f:id:masawan-guitar:20160726191422p:plain

(1) CoreOSのISOファイルをダウンロード

「Booting CoreOS from an ISO 」

    URL) https://coreos.com/os/docs/latest/booting-with-iso.html

    [Download Stable ISO]ボタンを押下し、coreos_production_iso_image.iso をダウンロードします。

    物理サーバーのDVDドライブにCoreOSのISOイメージを焼いたDVDメディアをセットして

    DVDブートします。その後、core ユーザーのコマンド入力画面が表示されます。

(2)暗号化されたパスワードを生成

cloud-config.ymlに(CoreOS) core ユーザー用のパスワードを記述するために生成します。

(例)Mac端末の場合

1.ターミナルで以下を実施します。[ ] でパスワードを入力します。

# openssl passwd -1 > /Users/(UserName)/Desktop/passwd
Password: [ ]
Verifying - Password: [ ]

2.passwdをテキストで開くと 1. で入力したパスワードが暗号化された文字が出力されています。この文字列は後述(4)で使用します。

$1$ClPD0vzI$xKfPvDi3Ey7JvEgqicymo1

(3)SSH認証のための公開鍵と秘密鍵を生成

cloud-config.ymlに公開鍵を記述するために生成します。

・参考

MacSSH認証のための公開鍵と秘密鍵を生成する。」

    URL)http://d.hatena.ne.jp/crosshope/20110509/ssh_keygen

(4)cloud-config.ymlを作成

(例)cloud-config.ymlの記述内容

#cloud-config
hostname: coreosDev
coreos:
  update:
    reboot-strategy: best-effort
  units:
  - name: etcd.service
    command: start
  - name: fleet.service
    command: start
  - name: docker.service
    drop-ins:
        - name: "50-insecure-registry.conf"
          content: |
            [Service]
            Environment='DOCKER_OPTS=--insecure-registry="host:port"'
    command: start
  - 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
  - name: 00-eno1.network
    runtime: no
    content: |
      [Match]
      Name=eno1
      [Network]
      DHCP=yes
      [DHCP]
      UseDNS=true
users:
  - name: core
    passwd: *****(※(2)ユーザー用の暗号化されたパスワード)*****  
    groups:
    - sudo
    - docker
    ssh-authorized-keys:
    - ssh-rsa ******(※(3)SSH認証のための公開鍵)***** 

(5)core ユーザーのパスワードを追加

$ sudo su -
# whoami
root
# passwd core

(6)cloud-config.yml を CoreOS上へコピー

(例)Mac端末(IP 192.168.1.26)、CoreOS端末(IP 192.168.1.22)の場合

sshでCoreOS端末に接続します。その際、(5)で追加したcoreユーザーのパスワードを入力します。

その後、scp で ファイルをCoreOS上にコピーします。

$ ssh core@192.168.1.22
$ whoami
core
$ scp (Mac端末ユーザー名)@192.168.1.26:/Users/(Mac端末ユーザー名)/Desktop/cloud-config.yml ./cloud-config.yml
$ ls
cloud-config.yml

(7)/dev/sda にCoreOSをインストール

$ whoami
core
$ sudo coreos-install -d /dev/sda -C stable -c ./cloud-config.yml

(8)CoreOS の再起動

$ whoami
core
$ sudo systemctl reboot

 

-- バージョン情報 --
CoreOS(1068.6.0)
$ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=1068.6.0
VERSION_ID=1068.6.0
BUILD_ID=2016-07-12-1826
PRETTY_NAME="CoreOS 1068.6.0 (MoreOS)"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"

Docker(1.10.3)

$ docker version
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.4
 Git commit:   3cd164c
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.4
 Git commit:   3cd164c
 Built:
 OS/Arch:      linux/amd64