2014
08/1910:00ConoHaを使って、CoreOSをインストールする方法
CoreOSはサーバ向けの軽量Linuxディストリビューションです。基本的にはCoreOS上で直接アプリケーションを動かすのではなく、LinuxコンテナであるDockerを動作させることに特化しています。ちょうど先月7月にリリース版となるバージョン367.1.0がリリースされ、注目が集まりました。
ConoHaではCoreOSのインストールイメージは提供されていません(近いうちに追加されると思いますが)。ただConoHaにはISOイメージをアップロードできる機能があるので、これを利用してCoreOSをインストールしてみましょう。
(注: この記事は技術的情報を提供するためのもので、ConoHa上での動作を保証するものではありません)
1.1 ISOイメージのアップロード
まずは オフィシャルサイトからStableのISOイメージをダウンロードします。ダウンロードしたISOイメージを、ConoHaのISOファイルアップロードを使ってアップロードするのですが、ここではコマンドラインからアップロードする方法を紹介します。アップロードはsftpを使用するので、コマンドラインではなくGUIツールなどを使って行うことも出来ます。ヘルプには Filezilla を使った方法が紹介されていますので、そちらも参考まで。
ConoHaではISOイメージをアップロードする際に、ユーザごとの専用の領域にアップロードするようになっています。sftpで接続する際にSSHの秘密鍵が必要になりますので、コントロールパネルからダウンロードします。左メニューの[サービス]->[VPS]からVPSを選択すると、ページ下部にSSH秘密鍵のリンクがあります。同時に接続先やユーザ名も確認しておきましょう。
秘密鍵を使用して、ISOファイルをアップロードするコマンドは以下になります。ConoHaのISOイメージアップロードは、images配下にアップロードするので、images/を指定しています。
1 |
sftp -o IdentityFile=[秘密鍵のパス] [ユーザ名]@[接続先]:images/ |
たとえば、筆者の環境ではユーザ名がiu3-00002355、接続先がsftp1001.cnode.jpでした。秘密鍵をホームディレクトリにconoha.keyとして保存した場合、コマンドになります。
1 |
sftp -o IdentityFile=~/.ssh/conoha.key iu3-00002355@sftp1001.cnode.jp:images/ |
これでsftpで接続できました。実際にISOイメージをアップロードするためにsftpのPUTコマンドを使います。
1 2 3 4 5 6 7 |
# sftp -o IdentityFile=~/.ssh/conoha.key iu3-00002355@sftp1001.cnode.jp:images/ Connected to sftp1001.cnode.jp. Changing to: /images/ sftp> put coreos_production_iso_image.iso Uploading coreos_production_iso_image.iso to /images/coreos_production_iso_image.iso coreos_production_iso_image.iso sftp> |
アップロード時のコンソール出力は、上記のようになります。アップロードが完了したらquitコマンドか、Ctrl+Dでsftpを抜けます。
これでアップロードしたISOイメージがコントロールパネルに登場するようになります。[サービス]->[VPS]からVPSを選択し、[OS再インストール]を選択してください。プルダウンメニューにアップロードしたISOイメージが登場しているはずです。
なお、ここで忘れずにキーマップをen-usに変更してください。CoreOSはキーマップを持っておらず(localectlコマンドでなにも表示されない)、en-us、いわゆる英語配列になるからです。これを忘れるとConoHaのコンソールから操作ができなくなる場合があります。
このあと[確認]をクリックし、その次の画面で内容を確認して[決定]をクリックします。
1.2 CoreOSのインストール
OS再インストールの手続きをすると、コンソールの画面に戻ってきます。ここでVPSを起動します。これ以降はコンソール内での作業になります。
インストールは、ほぼオフィシャルのドキュメントの通りに進めれば問題ありません。インストール時にCloud-Configという設定ファイルを記述することで様々な設定が可能ですが、ここでは最低限ログインするための設定だけをします。ログインと言っても、CoreOSはコンソールログインを禁止しているため、SSHでログインすることが前提になります(インストール後、ConoHaコントロールパネル上のコンソールからはログインできません)。ログインできるようにするには、インストール時にSSH公開鍵を設定するか、パスワードのハッシュを設定する必要があります。パスワードを設定する方法は、ハッシュ化する作業を手作業で行ったりと複雑なので、今回はSSH公開鍵を設定する方法で進めたいと思います。
SSHのキーペアは新しく用意してもいいのですが、せっかくなのでConoHaのコントロールパネルからダウンロードしたSSH秘密鍵を使用してみましょう。ssh-keygenコマンドには-yオプションがあり、秘密鍵を読み込み公開鍵を表示することが出来ます。
1 |
ssh-keygen -y -f [秘密鍵のパス] |
ConoHaのコンソールに戻り、Cloud-Configファイルを記述します。以下の内容でcloud-config.yamlというファイル名で保存します。YAMLフォーマットのため、インデントが意味を持ちますので注意してください。Cloud-Configファイルの詳細についてはこちらにあります。
1 2 3 4 |
#cloud-config ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAdhyb2GdJ8CbTD8rHCYwdW+UQ01JiP+J8FwRQLZSZQZoVO7J+rab... |
ssh-rsaから始まる部分が公開鍵です。ssh-keygenで表示された公開鍵に置き換えてください。
ちなみに、ConoHaのコンソールでは長い文字列をペーストすることが出来ます。便利なので是非使ってみてください。
これで準備が出来ました。以下のコマンドでインストールを実行しましょう。
1 |
sudo coreos-install -d /dev/vda -c cloud-config.yaml |
最後に「Success!」などと表示されればインストール成功です。一度シャットダウンします。
1 |
sudo poweroff |
ISOイメージのマウントを解除します。上部のメニューから排出をクリックします。
再度、VPSを起動します。起動が完了したらSSHで接続してみましょう。接続情報は以下になります。
- ユーザ名: core
- SSH接続先: VPSのIPアドレス
- SSH秘密鍵: コントロールパネルからダウンロードしたもの
コマンドラインからsshコマンドを使用する場合は、は以下のようになります。
1 |
ssh -i [秘密鍵のパス] core@[VPSのIPアドレス] |
接続できれば成功です。
CoreOSはインストール方法が特殊ですが、ConoHaでも問題なくインストールできました。是非試してみてください。
1,500円分の無料クーポン付いてくる ConoHa のご入会はこちらから
アカウント登録(無料)
ConoHa byGMO