Fedora CoreOS を Hyper-V Server 2019の仮想マシンに導入してみた
はじめに
Hyper-V 上の Ubuntu Server 20.04 へkubernetesインストールして動作させてみたら
Hyper-Vによるメモリの割り当てが4GB近く増えました。
もっと軽い環境が欲しかったのでFedora Core OSを試すことにしました。
まずはインストールのみということで。
前提
環境
- 【導入先PC】Hyper-V Server 2019
- 【作業PC】Windows 10 Pro 2004
- Hyper-Vマネージャ
- Docker for Windows
インストールするもの
-
Fedora Core OS: 31.20200517.3.0
- x86_64, Stable Stream, ベアメタル
- ISOイメージをダウンロードしてHyper-V Serverへ保存しておく
やったこと
Ignition ファイル作成
- Hyper-Vマネージャ
- Docker for Windows
- x86_64, Stable Stream, ベアメタル
- ISOイメージをダウンロードしてHyper-V Serverへ保存しておく
Ignition ファイル作成
作業PC上で実施します。
Fedora CoreOSは初回起動時にシステム設定して、それ以降は設定を変えない模様。
「変えたければ作り直せばいいじゃない!」 という非常に割り切った考え方です。
システム設定はIgnition
というツールを用いて行い、その設定ファイルは以下のように作成します。
設定ファイルをyaml形式で作成
定義とか設定例を参照して作成。
ここではcoreユーザーに対して公開鍵を使ったsshログインをできるようにするだけの設定を行います。
variant: fcos
version: 1.1.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-ed25519 AAA...
※ ssh-ed25519 AAA...
部分にはCoreOSへSSH接続する際の公開鍵を設定します。
※ この程度の内容であればversion: 1.0.0
でも構わないのですが、新しいものが出たら試したくなりますよね?
fcctツールでjsonに変換
ツールをダウンロードしてもいいんですが、Dockerを使える環境であればいきなり変換できます。
get-content .\ignition.yml | docker run -i --rm quay.io/coreos/fcct:release --strict >.\ignition.json
{"ignition":{"version":"3.1.0"},"passwd":{"users":[{"name":"core","sshAuthorizedKeys":["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvoYAoX5t9DAKVyOEwUHd0ErasmeF1380f4/KeVO/SF"]}]}}
変換後のファイルをWebで公開
せっかくなのでこれもDockerで公開してみます。
docker run --name ignition -d -p 8080:80 -v C:\Path\to\ignition.json:/usr/share/nginx/html/ignition.json:ro nginx
http://{作業PCのIP}:8080/ignition.json
としてアクセス可能になる。インストール終了まで立ち上げておいてください。
Hyerp-Vの準備
作業PCのHyper-Vマネージャーを使用して、導入先PCにCoreOS用の仮想マシンを立ち上げます。
仮想マシン作成
- 名前:FCOS
- 世代:第2世代
- 起動メモリ:2048 MB、動的メモリ使用
- ネットワーク:外部接続あり
- ハードディスク:127GB 可変容量
- ブートイメージにFedora CoreOSのiso指定
仮想マシンの設定変更
仮想マシンブート
CoreOSのライブ環境が仮想マシン上で実行されます。
インストール
仮想マシンにCoreOSをインストールします。仮想マシン上のCoreOSライブ環境で作業します。
Ignitionファイルのダウンロード
仮想マシンから、さきほどDockerで立ち上げたWebサーバへアクセスし
Ignition.jsonファイルをダウンロードします。
[core@localhost ~]$ curl -LO http://{作業PCのIP}:8080/ignition.json
※ダウンロードできない場合は作業PCのファイヤウォール設定を確認してください。
ISOファイルからインストール
[core@localhost ~]$ sudo coreos-installer install /dev/sda --ignition-file ignition.json
...
Install complete.
あとは再起動して完了。起動後にIgnitionファイルに記載した公開鍵とペアとなる秘密鍵を利用して
SSH接続できるか確認します。
後片付け
作業PCにてDockerで立ち上げたWebサーバを止めます。消してしまってもいいです。
docker stop ignition
docker rm ignition
おわりに
Installing CoreOS on Bare Metalを参考にしながらインストール進めました。
- ignitionファイル渡すためにWebサーバ立ち上げるのはちょっと大がかりじゃないの?
- ライブ環境にSSH接続できれば済む話なのでは?
という部分が気になってしょうがないですが、今日のところはここまで。
なお、インストール直後のメモリ使用量は900MBでした。コンパクトでいいですね。
Author And Source
この問題について(Fedora CoreOS を Hyper-V Server 2019の仮想マシンに導入してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/kujiraza/items/7bf3a7a4ecfc463a6d43著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .