Edited at

海外VPSのVULTRでCoreOSを動かしてみた

More than 3 years have passed since last update.


前提条件


  • VULTRのアカウントを所持していること

  • テキストファイルをhttpで配信できること http://◯◯◯/script.txt

  • unix系の黒い画面(コンソール)が触れること

  • SSH接続用の秘密鍵を発行していること

以下からの説明は、MacOS10.9で作業した内容を記述しているが、

unix系であれば特に変わりなく作業できる筈。

変な記述がありましたら、コメントにて連絡頂ければ幸いです。


※未承諾広告※

VULTRは東京リージョンも利用できる格安VPSだ。

Web管理画面は英語のみだが、クレカかPaypalさえあれば公称通り5分以内でデプロイ可能。

最小プラン(1CPU MEM768MB SSD15GB)なら月額$5。

更に2014/08現在、一度に$100以内の支払でクレジットが2倍に増えるキャンペーン中!

そしてお友達を紹介するだけでクレジットが$10増える例のアレも完備!

VULTR(例のアレ)


大まかな流れ


参考にしたページ

CoreOS公式で、VULTRへの導入手順が紹介されている。

この流れ通りにやっていけば問題はないが、色々注意点などがあったり。

https://coreos.com/docs/running-coreos/cloud-providers/vultr/


iPXE script (script.txt)の作成

下記はCoreOS stableをインストールする場合。betaやalphaは上記URLを参考のこと。


script.txt

#!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.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よりも簡単そう)、

上記の手順は割と楽できそうですよ?(つまり未検証)