質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

846閲覧

vagrantで複数node作成、各別名hostnameを付けたい

wkbiz

総合スコア152

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2021/05/05 16:13

よろしくお願いします。

・質問
vagrantで複数node作成、各別名hostnameを付けたい。
下記vagrantfile記述でvagrant upするとnodeは2つ出来るが
両方とも同じhostname(node2)で作られてしまう。

・環境
Vagrant 2.2.15
Virtualbox 6.1.22
HostOS Windows10
GuestOS Ubuntu20.10(generic/ubuntu2010)

vagrantfile

1Vagrant.configure("2") do |config| 2 config.vm.box = "generic/ubuntu2010" 3 4 config.vm.define :node1 do |node1| 5 config.vm.box = "generic/ubuntu2010" 6 config.vm.hostname = "node1" 7 config.vm.network "private_network", ip: "192.168.33.20" 8 config.vm.network "public_network", ip: "192.168.16.17", bridge: "en2: Intel(R) I211 Gigabit Network Connection" 9 end 10 11 config.vm.define :node2 do |node2| 12 config.vm.box = "generic/ubuntu2010" 13 config.vm.hostname = "node2" 14 config.vm.network "private_network", ip: "192.168.33.50" 15 config.vm.network "public_network", ip: "192.168.16.27", bridge: "en2: Intel(R) I211 Gigabit Network Connection" 16 end 17end

いろいろ検索やhashcorp公式ドキュメントも見たのですが、どれをやっても同じ結果になります。
手詰まりになったため知見のある方のご助言いただきたく。

具体的でなくとも解決の糸口になるようなことでも結構です。
ご教授頂けると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Vagarant の設定はRubyなので、Rubyの書き方に従うようにしてみてください。試していないので、動くかわかりませんが下記でいかがでしょうか。

rb

1Vagrant.configure("2") do |config| 2 config.vm.box = "generic/ubuntu2010" 3 4 config.vm.define :node1 do |node| 5 node.vm.hostname = "node1" 6 node.vm.network "private_network", ip: "192.168.33.20" 7 node.vm.network "public_network", ip: "192.168.16.17", bridge: "en2: Intel(R) I211 Gigabit Network Connection" 8 end 9 10 config.vm.define :node2 do |node| 11 node.vm.hostname = "node2" 12 node.vm.network "private_network", ip: "192.168.33.50" 13 node.vm.network "public_network", ip: "192.168.16.27", bridge: "en2: Intel(R) I211 Gigabit Network Connection" 14 end 15end

本件と関係ないですが、shell がわかるなら下記のように書くとShellを実行可能です。

rb

1Vagrant.configure("2") do |config| 2 # ... 3 config.vm.provision :shell, :path => "test1.sh" 4 config.vm.provision :shell, :path => "test2.sh", run: "always" 5end

余談ですが、最近はWindowsならMacと同じようにLinuxを実行可能なので、WSL2 に移行すると便利です。WSL2 と LxRunOffline を組み合わせるとVagarantは必要なくなります。

投稿2021/05/05 20:18

Tomak

総合スコア1652

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2021/05/07 05:17

ご回答ありがとうございました。 ご教授頂いたソースで無事、node1, node2の別名hostnameが設定されたこと確認できました。 補足でいただいた外部shellファイルからのプロビジョニング実施方法ありがとうございます。 WSL2はHyper-Vの絡みと何かあった場合リカバリーできる自信がないので利用は避けたいと思っています。
Tomak

2021/05/07 05:30

うまく動作したようで何よりです。WSL2は暇な時にでも試してみるといいかもしれません。 WSL2 は Hyper-V のコンテナを使用しているだけで、Hyper-VのVMと同じように扱うことはできませんので、Hyper-Vの知識は必要ありません。 また、VirtualBox やVMPlayerもWSL2と共存できるようになったので、困ることはほとんどありません。 余談ですが、WSLは次期リリースでLinux版のGUI実行にも正式対応されます。
wkbiz

2021/05/07 06:25

コメントありがとうございました。WSLについては余裕あれば色々調べたいと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問