CoreOS Container LinuxをVMwareで動かす
CoreOS Container Linux を VMware で動かすまでをまとめました。
読み方
- CoreOS Container Linux
- こあおーえす こんてな りなっくす
目次
概要
CoreOS Container Linux を VMware で動かすことができます。 ISO イメージをダウンロードして、インストールする方法もありますが、ここでは、 VMware イメージをダウンロードして、起動します。
VMware イメージのダウンロードとインポート
VMware 用の CoreOS の イメージが欲しい場合は、以下の URL からダウンロードできます。 ova ファイルをダウンロードして、ダブルクリックすれば、 VMware にインポートするか、聞いてくれます。
https://stable.release.core-os.net/amd64-usr/current/coreos_production_vmware_ova.ova
VMware では、以下のメッセージが出ましたが、「再試行」をクリックすれば、処理が実行され、 CoreOS が起動します。
--------------------------- VMware Workstation 12 Player --------------------------- C:\Users\linux\Downloads\coreos_production_vmware_ova.ova が OVF 仕様適合 チェックまたは仮想ハードウェア コンプライアンス チェックに合格しなかったた め、インポートに失敗しました。 OVF 仕様および仮想ハードウェアのコンプライアンス チェックを緩和してインポート を再試行するには [再試行] をクリックし、インポートをキャンセルするには [キャンセル] をクリックしてください。インポートを再試行すると、VMware Player で仮想マシンを使用できなくなる可能性があります。 [ ] 今後、このメッセージを表示しない(S) --------------------------- 再試行(R) キャンセル ---------------------------
VMware イメージを起動して、ログインするまで
VMware イメージの OVA を取り込んで、 CoreOS を起動すると、ログインプロンプトが表示されますが、アカウントもパスワードも分からず、何もできません。
はじめて VMware で CoreOS を起動するときは、ブートローダの GNU GRUB でパラメータを設定してから起動します。
VMware で CoreOS をブートすると、まず、 GRUB が表示されるので、 e を押します。
GNU GRUB の画面が表示されたら、パラメータを追加します。追加するパラメータは、 coreos.autologin です。 Cntl-x を押して、OS を起動します。
私の環境では、GNU GRUB の Emacs ライクなエディタでは、以下のような表示がされました。環境やバージョンによって、表示されるものが違うかもしれません。
setparams 'CoreOS default' gptprio linux$snf $gptprio_kernel $gptprio_cmdline $linux_cmdline
上記のものに、 coreos.autologin を追加したものは、以下の通りです。
setparams 'CoreOS default' gptprio linux$snf $gptprio_kernel $gptprio_cmdline $linux_cmdline coreos.autologin
これで、Cntl-x で OS を起動すると、ログインプロンプトが省略され、 core ユーザのシェルが起動されます。
パスワードの変更
パスワードの変更は、 sudo コマンドを利用して、行います。sudo しても、パスワードは聞かれません。
core@localhost ~ $ sudo passwd core Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
設定ファイル cloud-config.yml
/usr/share/oem/cloud-config.yml
ネットワークの設定
VMware の設定
WMware のネットワークの設定は、 NAT モードに設定します。
cloud-config.yml
cloud-config.yml の設定
name: static.network あたりから、ネットワークの設定を書きました。 それ以前は、デフォルトのものです。
ens160 は、ネットワーク・インタフェースです。 ifconfig で調べたら、 ens160 でした。
#cloud-config coreos: units: - name: vmtoolsd.service command: start content: | [Unit] Description=VMware Tools Agent Documentation=http://open-vm-tools.sourceforge.net/ ConditionVirtualization=vmware [Service] ExecStartPre=/usr/bin/ln -sfT /usr/share/oem/vmware-tools /etc/vmware-tools ExecStart=/usr/share/oem/bin/vmtoolsd TimeoutStopSec=5 - name: static.network content: | [Match] Name=ens160 [Network] Address=192.168.X.3/24 Gateway=192.168.X.2 DNS=192.168.X.2
設定の反映には、 coreos-cloudinit コマンドを使用します。
sudo coreos-cloudinit --from-file /usr/share/oem/cloud-config.yml
これで、ネットワークがつながれば、 ssh でログインできるようになります。
関連項目
ツイート