CoreOSインストールしましょ
2019/10/30 追記
FedoraCoreOSの話を追記しました
ちなみにCoreOSはUEFIブートできませんでした
最近のPCだとインスコできないじゃん...()
なのでそういう方はFedoraCoreOS使ってください(投げやり)
にゃんぱすー
おひさしぶりです
前回の記事から半年以上経ってしまったので,
とりあえずなんか書きました
CoreOSをインストールしたいと思いまーす
CoreOSって??
CoreOSっていうのは簡単に言うとDockerなどのコンテナ利用に特化したOSです
なぜCoreOSをインストールするかと言うと
「コンテナオーケストレーション実験したいから
この子達にOS入れといて」
とお願いされたからです
これからCoreOSインストールしようと思っている人は参考にしてください
CoreOSのISOの入手
CoreOS
https://coreos.com/os/docs/latest/booting-with-iso.html
公式から入手
ひとまずStableでいきましょ
追記:Container Linux(CoreOS)は2020年に終了して, 後継はFedoraCoreOSになるらしい
FedoraCoreOS
https://getfedora.org/en/coreos/download/
bootable mediaの作成
bootable mediaを作るんじゃ!
ISOをUSBフラッシュドライブとかのデバイスに書き込む
## デバイスのリストを取得 ## Mac diskutil list ## Linux lsblk ## デバイスのフォーマット ## ラベルは大文字で ## Mac diskutil eraseDisk FAT32 [LABEL] /dev/disk? ## Linux mkfs.vfat -v -F 32 -n [LABEL] /dev/sda? ## デバイスのアンマウント ## Mac diskutil unmountDisk /dev/disk? ## Linux umount /dev/sda? ## デバイスに書き込む ## わざとrdiskにしてある ## bsを設定するなら16mとか sudo dd if=[PATH_ISO] of=/dev/rdisk??
CoreOSのインストール
公式ではignition.jsonを用いてインストールするのが推奨だが,
cloud-config.ymlから
設定を読み出してインストールすることも可能である(非推奨)
今回は めんどくさいので 後者で行う
cloud-config
設定ファイルを書く
設定する項目はいろいろあるんですけど, ここでは説明を割愛する(etcd, etcd2, fleet, flannel)
とりあえず etcdとetcd2はdeprecatedだったので使わなかった
詳細な設定に関しては聞いていないのでこれで大丈夫だと思う(適当)
必要最低限には使えるはず
以下,cloud-config.ymlの例
#cloud-config #sudo coreos-install -d /dev/sda -C stable -c cloud-config.yml hostname: core-01 coreos: update: reboot-strategy: 'off' manage_etc_hosts: localhost # etcd2: deprecated # name: core-01 # discovery: 192.168.32.???/v2/keys/machines # addr: $public_ipv4:4001 # peer-addr: $private_ipv4:7001 units: - name: coreos-setup-environment.service command: restart - name: systemd-networkd.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 - name: etcd2.service command: start - name: fleet.service command: start - name: docker.service command: start users: - name: core passwd: passwdのハッシュ値 groups: - sudo - docker write_files: - path : /etc/environment permissions: 0644 content: | COREOS_PUBLIC_IPV4=192.168.32.??? COREOS_PRIVATE_IPV4=192.168.32.??? - path: /etc/systemd/network/10-static.network content: | [Match] Name=e* [Network] Address=192.168.32.???/24 Gateway=192.168.32.1 DNS=???.???.???.???
passwdのハッシュ値はopensslコマンドで出力した
## -1はMD5ハッシュ化 openssl passwd -1
さっき作ったbootable mediaを
インストールするマシンのUSBに挿してCoreOSを起動
ここで起動しない場合,書き込みに失敗してるのでやり直してください
また,UEFIでBoot Priorityいじるかはマシンとお話して判断してください
追記:どうやらUEFIブートできないっぽい()
「助けて〜LegacyBIOS〜」という方は,
FedoraCoreOSを入れてください
そっちはちゃんとUEFI対応してました.
## cloud-configはisoに埋め込むか ## どっかのサーバにおいてscpとかで取ってきたらいいと思う ## cloud-configを用いてinstall ## たぶんsdaとかでしょ...() sudo coreos-install -c cloud-config.yml -d /dev/sda -C stable ## ignition.jsonの場合 sudo coreos-install -i ignition.json -d /dev/sda -C stable ## FedoraCoreOSの場合 /usr/libexec/coreos-installer -d sda -i ignition.json -b image.iso
インストール!!
最後にSSH接続できるかdocker使えるか確認して終わり!!
参考URL
公式のドキュメント
https://coreos.com/os/docs/latest/installing-to-disk.html
https://coreos.com/os/docs/latest/provisioning.html
https://coreos.com/os/docs/latest/cloud-config.html
終わりに
今回はCoreOSのインストールについて書きました
設定に関して全然説明してないけど
公式のDocumentsに全部書いてるので
そっち見てください