LoginSignup
5
3

More than 5 years have passed since last update.

Container Linux Core OSをさくらのVPSに建ててignition設定ファイルを使用する

Last updated at Posted at 2017-10-01

ignition構成について、そこまで難しい事でもないのに、どこにも書かれていなかったので書きます

インストール

ここの通り行えばできます(VNC コンソール の作業まで)
https://qiita.com/ignorant/items/924099ad4ed6c615023d#-coreos-container-linux-%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

設定ファイルについて

現在のCoreOS設定は、ignition構成というものを使用する事が推奨されています
ignition後衛ファイルは Container Linux Config ファイルから Config Transpiler(ct) を使用して生成します

Container Linux Config (YAML形式) -> ignition構成ファイル(JSON形式)

cloud-config からの移行方法も示されています。以下を参照
https://coreos.com/os/docs/latest/migrating-to-clcs.html

Container Linux Config

構成仕様は以下を参照
https://coreos.com/os/docs/latest/configuration.html

ユーザをdockerグループに追加させる必要はないようです。(何もしなくても所属していた)

# This config is meant to be consumed by the config transpiler, which will
# generate the corresponding Ignition config. Do not pass this config directly
# to instances of Container Linux.

passwd:
  users:
    - name: core
      password_hash: "$6$vB3Bm..." # パスワードハッシュ
networkd:
  units:
    - name: 00-eth0.network
      contents: |
        [Match]
        Name=eth0

        [Network]
        DNS=【プライマリDNS】
        DNS=【セカンダリDNS】
        Address=【アドレス】/【サブネットマスク】
        Gateway=【ゲートウェイ】

ユーザ

sshできるユーザを作っておかないと、インストール後にアクセスできなくなります
今回は以下の方法でパスワード認証します

sudo apt install whois
mkpasswd -m sha-512
Password: # <- パスワード入力
$6$vB3BmN37cI$qLClGN7WPbrGXt8jQhCTh......

ネットワーク設定

今回は上のように手動設定しました
できれば書きたくないですが、対応方法を探すのはクラスタ構成したくなった時にとっておきます

ファイルの生成

ct(Container Linux Config Transpiler)は以下からダウンロードします
https://github.com/coreos/container-linux-config-transpiler/releases

バイナリを以下のようなコマンドで実行します

./ct-v0.5.0-x86_64-pc-windows-gnu.exe --in-file config.yml -strict > ignition.json

インストール

以下の手順で進めます。
https://coreos.com/os/docs/latest/installing-to-disk.html

sudo fdisk -l # -> インストールする物理ディスクを確認
sudo coreos-install -d /dev/vda -i ignition.json
sudo shutdown -h now

以下のようなメッセージが出た場合既存のデータを消すことで解決できるようです(私は無理でした)
詳細はこちらを確認してください
https://qiita.com/tubone/items/5995581b8e27c2277ba8#hdd%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%8F%E3%83%9E%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D

blockdev: ioctl error on BLKRRPART: Device or resource busy
Failed to reread partitions on /dev/vda

私は仮想マシンをシャットダウンした状態でisoアップロードからやり直したらうまくいきました

おわり

Qiitaだけでほぼ情報が集まるのは実際すごいと思いました

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3