今回やること一覧
特に記載のない限り、CLIでやります。
- ツール等の準備
- 環境変数の設定
- vagrant-conohaのインストール
- ConoHa ISOのインストール
- CoreOSのISOイメージをConohaに対してダウンロード
- ConohaにCoreOSをインストール
- Conohaのインスタンスを作成
- CoreOSのISOイメージをConohaにマウント
- CoreOSをインストール1 ※一部GUI
- CoreOSをインストール2
- CoreOSのISOイメージをアンマウントして再起動
- Vagrantfileの書き換え(ssh用のユーザを変更)
- インスタンスのイメージ保存・削除・復元
- インスタンスのイメージ保存 ※GUI
- インスタンスの削除
- インスタンスの復元
前提条件
準備物
操作環境
- Windows10 Pro
- CLIにはGit bashを使用
- Vagrantインストール済み
1. ツール等の準備
1-1. 環境変数の設定
あらかじめ以下の環境変数をセットしておきます
1
2
3
4
5
6
7
|
export OS_USERNAME=[APIユーザ名]
export OS_PASSWORD=[APIパスワード]
export OS_TENANT_NAME=[テナント名]
export OS_AUTH_URL=[Identity Endpoint]
export OS_REGION=[リージョン]
export OS_ADMIN_PASSWORD=[Adminパスワード]
|
※ここで設定した環境変数は以降の「vagrant-conoha」と「ConoHa ISO」で利用します。
1-2. vagrant-conohaのインストール
ConohaのインスタンスをCLIで生成・停止・破棄などするために、vagrant-conohaを導入します。
1
2
|
$ vagrant plugin install vagrant-conoha
|
1-3. ConoHa ISOのインストール
ConohaへカスタムISOを登録するために、ConoHa ISO というツールを導入します。
1
2
|
$ curl -L -O https://github.com/hironobu-s/conoha-iso/releases/download/current/conoha-iso.amd64.zip
$ unzip conoha-iso.amd64.zip
|
※MacやLinuxの人はREADMEを参照
1-4. CoreOSのISOイメージをConohaに対してダウンロード
ISOイメージのダウンロード
1
|
$ conoha-iso download -i "https://stable.release.core-os.net/amd64-usr/1185.3.0/coreos_production_iso_image.iso"
|
実行結果に
1
|
time="2016-11-23T18:48:15+09:00" level=info msg="Download request was accepted."
|
などと表示されるので、ダウンロードが完了するまでしばらく待ちます。
ISOイメージの一覧を確認
2. ConohaにCoreOSをインストール
2-1. Conohaのインスタンスを作成
Vagrantfileの作成
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'conoha'
config.ssh.username = 'root'
config.ssh.pty = true
# disable rsync
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider :conoha do |conoha|
conoha.openstack_auth_url = 'https://identity.tyo1.conoha.io/v2.0'
conoha.username = ENV["OS_USERNAME"]
conoha.password = ENV["OS_PASSWORD"]
conoha.tenant_name = ENV["OS_TENANT_NAME"]
conoha.flavor = 'g-1gb'
conoha.image = 'vmi-ubuntu-14.04-amd64'
conoha.region = ENV["OS_REGION"]
conoha.admin_pass = ENV["OS_ADMIN_PASSWORD"]
conoha.metadata = {
instance_name_tag: "vagrant_conoha"
}
conoha.security_groups = [
"default",
"gncs-ipv4-all"
]
end
end
|
※rsyncはローカルにないので無効化しておきます。 ^1
インスタンスを生成
authorized_keysの確認
1
|
$ echo "cat ~/.ssh/authorized_keys" | vagrant ssh
|
※あとで使うので控えておく
インスタンスを停止
2-2. CoreOSのISOイメージをConohaにマウント
対話形式で進める。こんな感じ。
1
2
3
4
5
6
|
[1] vagrant_conoha (150-95-143-11)
Please select VPS [1]: 1
[1] coreos_production_iso_image.iso
Please select ISO [1]: 1
time="2016-11-23T19:16:41+09:00" level=info msg="ISO file was inserted and changed boot device."
|
2-3. CoreOSをインストール1 ※一部GUI
インスタンスを起動
SSHでログインできるようにする
ここだけConohaのWEBコンソールから操作します
2-4. CoreOSをインストール2
稼働中のConohaのインスタンスにsshでログイン
1
|
$ ssh core@インスタンスのIPアドレス
|
パーティションの削除
1
2
3
4
5
6
|
$ sudo fdisk /dev/vda
p
d
d
d
wq
|
cloud-config.yamlを作成
~/cloud-config.yaml
1
2
3
4
5
|
#cloud-config
ssh_authorized_keys:
- ssh-rsa ※項番「2-1」で確認したauthorized_keysを記入
|
※公開鍵はvagrant ssh-configで取得した秘密鍵から生成するのが正しいと思うのですが横着しました
インストール
1
|
$ sudo coreos-install -d /dev/vda -C stable -c ~/cloud-config.yaml
|
2-5. CoreOSのISOイメージをアンマウントして再起動
1
2
3
|
$ vagrnat halt
$ conoha-iso eject
$ vagrant up
|
2-6. Vagrantfileの書き換え(ssh用のユーザを変更)
Vagrantfileの
1
2
|
config.ssh.username = 'root'
|
を
1
2
|
config.ssh.username = 'core'
|
に変更。
これで
できるようになる。
3. インスタンスのイメージ保存・削除・復元
3-1. インスタンスのイメージ保存 ※GUI
ここもConohaのWEBコンソールから操作します
手動でイメージ保存。(https://www.conoha.jp/guide/saveimages.php)
名前は CoreOS
にしました。
3-2. インスタンスの削除
3-3. インスタンスの復元
インスタンスのイメージから起動できるようにVagrantfileを作成
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'conoha'
# config.ssh.username = 'root'
config.ssh.username = 'core'
config.ssh.pty = true
# disable rsync
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.provider :conoha do |conoha|
conoha.openstack_auth_url = 'https://identity.tyo1.conoha.io/v2.0'
conoha.username = ENV["OS_USERNAME"]
conoha.password = ENV["OS_PASSWORD"]
conoha.tenant_name = ENV["OS_TENANT_NAME"]
conoha.flavor = 'g-1gb'
# conoha.image = 'vmi-ubuntu-14.04-amd64'
conoha.image = 'CoreOS'
conoha.region = ENV["OS_REGION"]
# conoha.admin_pass = ENV["OS_ADMIN_PASSWORD"]
conoha.metadata = {
instance_name_tag: "vagrant_conoha"
}
conoha.security_groups = [
"default",
"gncs-ipv4-all"
]
end
end
|
※保存したイメージから起動するため、conoha.image = 'CoreOS'
にしています。
起動
インスタンスが生成されました。
以上。
参考URL
ConohaにCoreOSをセットアップ
ConohaをVagrantから操作する
その他
脚注