1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Fedora CoreOS を Hyper-V Server 2019の仮想マシンに導入してみた

Last updated at Posted at 2020-06-13

はじめに

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 ファイル作成

作業PC上で実施します。

Fedora CoreOSは初回起動時にシステム設定して、それ以降は設定を変えない模様。
「変えたければ作り直せばいいじゃない!」 という非常に割り切った考え方です。
システム設定はIgnition というツールを用いて行い、その設定ファイルは以下のように作成します。

設定ファイルをyaml形式で作成

定義とか設定例を参照して作成。
ここではcoreユーザーに対して公開鍵を使ったsshログインをできるようにするだけの設定を行います。

ignition.yml
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を使える環境であればいきなり変換できます。

powershell+dockerで実行する場合
get-content .\ignition.yml |  docker run -i --rm quay.io/coreos/fcct:release --strict  >.\ignition.json
ignition.json
{"ignition":{"version":"3.1.0"},"passwd":{"users":[{"name":"core","sshAuthorizedKeys":["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvoYAoX5t9DAKVyOEwUHd0ErasmeF1380f4/KeVO/SF"]}]}}

変換後のファイルをWebで公開

せっかくなのでこれもDockerで公開してみます。

powershell+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指定

仮想マシンの設定変更

  • CPU上記設定仮想マシン作成後、起動する前にセキュアブートを有効にするのチェックを外す
    image.png
  • 仮想プロセッサ数を増やす(2個にした)

仮想マシンブート

CoreOSのライブ環境が仮想マシン上で実行されます。

image.png

インストール

仮想マシンに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サーバを止めます。消してしまってもいいです。

作用PC
docker stop ignition
docker rm ignition

おわりに

Installing CoreOS on Bare Metalを参考にしながらインストール進めました。

  • ignitionファイル渡すためにWebサーバ立ち上げるのはちょっと大がかりじゃないの?
  • ライブ環境にSSH接続できれば済む話なのでは?

という部分が気になってしょうがないですが、今日のところはここまで。
なお、インストール直後のメモリ使用量は900MBでした。コンパクトでいいですね。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?