#前提条件
- VULTRのアカウントを所持していること
- テキストファイルをhttpで配信できること http://◯◯◯/script.txt
- unix系の黒い画面(コンソール)が触れること
- SSH接続用の秘密鍵を発行していること
以下からの説明は、MacOS10.9で作業した内容を記述しているが、
unix系であれば特に変わりなく作業できる筈。
変な記述がありましたら、コメントにて連絡頂ければ幸いです。
##※未承諾広告※
VULTRは東京リージョンも利用できる格安VPSだ。
Web管理画面は英語のみだが、クレカかPaypalさえあれば公称通り5分以内でデプロイ可能。
最小プラン(1CPU MEM768MB SSD15GB)なら月額$5。
更に2014/08現在、一度に$100以内の支払でクレジットが2倍に増えるキャンペーン中!
そしてお友達を紹介するだけでクレジットが$10増える例のアレも完備!
#大まかな流れ
##参考にしたページ
CoreOS公式で、VULTRへの導入手順が紹介されている。
この流れ通りにやっていけば問題はないが、色々注意点などがあったり。
https://coreos.com/docs/running-coreos/cloud-providers/vultr/
iPXE script (script.txt)の作成
下記はCoreOS stableをインストールする場合。betaやalphaは上記URLを参考のこと。
#!ipxe
set base-url http://stable.release.core-os.net/amd64-usr/current
kernel ${base-url}/coreos_production_pxe.vmlinuz sshkey="公開鍵の内容"
initrd ${base-url}/coreos_production_pxe_image.cpio.gz
boot
公開鍵の内容 の部分を、公開鍵(ssh-rsaから始まる文字列)に差し替える。
script.txt(もちろんUTF-8)を作成したら、どこかにアップロードすること。
##VULTRでDeploy
deployする時に、適切なリージョンを選択し、OSはcustom、Virtual ISOはiPXE、
テキストボックスに先ほどscript.txtをアップロードしたURLを入れてデプロイ開始。
数分たったら、CoreOSが立ち上がる。
ただしISOイメージブートでな!(ディスクブートではないことに注意)
##SSHでISOブートのCoreOSに接続
できたてのVPSに接続しよう。
ssh core@VPSのIP
「これ未知のホストッスよね、どうシャス」とSSHクライアントに言われるんでyesと回答。
クライアント側の~/.ssh/known_hosts にホストが追記されるが、その行は後に削除する。
##cloud-config.yaml の作成
CoreOSをSSDにインストールする前に設定ファイルを書かないと、ログインできないCoreOSが立ち上がる。
僕はここで数回積んだ。
vi cloud-config.yaml
#cloud-config
ssh_authorized_keys:
- 公開鍵の内容
公開鍵の内容 の部分を、公開鍵(ssh-rsaから始まる文字列)に差し替えること。
ちなみにCoreOSはエディタがvimしか入ってないので、emacs派とnano派は涙を拭こう。
##SSDにインストール
sudo coreos-install -d /dev/vda -C stable -c ~/cloud-config.yaml -o ""
「おわったよー」と言ってきたら、再起動しよう。
sudo reboot
ここでssh接続は一旦解除される。
2014/09/29追記:-oオプション(OEM)が必要になった模様です。上記は適用済み。
github: Vultr image does not existing #331
##SSHでISOブートのCoreOSに接続
再起動中に、先ほどSSHクライアントで登録したホストの記述を消そう。
テキストエディタで、VPSのIPの行を消せばいい。
nano ~/.ssh/known_hosts
あとは下記のコマンドで接続できる。
ssh core@VPSのIP
「これ未知のホスト(略」にはyesと回答。
接続できたら、後は色んなdockerコンテナを入れてみよう。
##2014-11-28気づいたこと
デフォルトで選択できるOSにCoreOS Stableが追加されたよ!やったねたえちゃん!
SSHもいつの間にか管理画面から追加できるようになっているので(AWSよりも簡単そう)、
上記の手順は割と楽できそうですよ?(つまり未検証)