私はAnsibleを使用して仮想マシンをプロビジョニングするのに最適です。 DnsmasqはDHCPを処理して自動的にIPを取得します。ただし、DNSが構成されていないため、仮想マシンはホスト名で互いに通信できず、IPでのみ通信できます。
virsh net-define
新しいドメインを使用して作成する必要があるいくつかのガイドを読んでくださいvirsh net-edit
。ただし、これは手動で行う必要があります。このガイド私が注目しているものの一つです。
どういうわけか自動的にできるのですか?私が提供したガイドよりも優れていませんか?
単純化のためにホストを追加しましたが、/etc/hosts
より良い解決策が必要だと思いますか?
答え1
付加的な知識:
多くのアプリケーションが呼び出しを介してFQDNを確認します。ホスト名の取得。
Linuxでは、Cライブラリは以下を読みます。/etc/nsswitch.conf
情報ソースを設定します。少なくとも持ってhosts: files
いる場合/etc/hosts
。
実際の答え
Vagrantでlibvirtを使用して使用できます。浮遊ホストマネージャ。
/etc/hosts
tldr:ゲストにエントリを追加して/etc/hosts
ホストに更新できます。
/etc/hosts
Ansibleを使用してlibvirtまたはQEMUを直接呼び出すことができる場合は、次の動作を複製できます。 AnsibleはIPアドレスが収集されたことを知っているため、各ゲストとホストへの接続を追加できます。hostvars
変数の値を照会し、インベントリ全体に基づいてプレイブックを使用する必要があるかもしれません(したがって、実際に収集ステップが各ホストに適用され、IPを取得します)。静的IPの場合:すべてのゲストで同じコンテンツをダンプできます(そしてIPの重複を避けるためにテンプレートを使用できます)。
私が一つ見つけたエマルジョンこれは別の答えを提供します(プロジェクトに関連するVMだけでなく、すべてのVMにも影響します)。