Windows Azureの管理サイトから作成したCoreOSを使う


AzureでCoreOSを使う

Windows AzureにはCoreOSのイメージ(テンプレート)があり、作成すればすぐに使えるようになります。
しかし、作成にはCLIを使え、という解説しか無かったりします。
CoreOSのガイド / Azureのガイド

CLI入れるのも面倒くさいんだけど、それしかないの?
というと、そんなことはなくて、管理サイトから作ったCoreOSでも簡単にカスタマイズできます。

実作業

作る

普通に管理サイトから仮想マシンを作って

CoreOSのイメージを選び

仮想マシンの構成でユーザーを適当に作る

出来上がります。

カスタマイズ

sshで先ほど作った仮想マシンに作ったユーザーでログインします。

いつものcloud-configはいつもの場所に勝手に置きます。
書いたら再起動です。

$ sudo mkdir -p /var/lib/coreos-install
$ sudo vi /var/lib/coreos-install/user_data
$ sudo reboot

実は-pは要りません。
気分です。

これでいつものようにCoreOSを使うことができます。

追記

ユーザーのこと

最初に作ったユーザーでsudoができるのは、waagentが

/etc/sudoers.d/waagent
azureuser ALL = (ALL) ALL

こんなファイルを作っているからです。
なので、仮想マシンを作るときにエージェントのチェックは付けたままにしておかないとダメです。
また、そのためにcloud-configで最初に作ったユーザーを含めても、

/var/lib/coreos-install/user_data
users:
  - name: azureuser
    groups:
      - sudo

とかしても、sudoしたときにパスワードを聞かれます。
(後から- sudoでグループを割り当てるとパスワードを聞かれません)

IPアドレスのこと

いつものcloud-configでは、$private_ipv4 の変数が使えます。
CoreOSのcloud-configの説明にはAzureは使えるとは書いていないのですが、AzureのCoreOSの説明には使えることが書いてあります。