- VagrantはWindows 8.1以降からHyper-Vをサポートし、再現可能な環境を実現します。
- Hyper-V に Vagrant をインストールして構成するには、特定のネットワークおよびプロビジョニング設定が必要です。
- Hyper-Vでは静的IPなどの特定の機能を簡単には許可しませんが、補完的なソリューションがあります。
- ブート エラーを回避するには、Hyper-V 互換の「ボックス」イメージを使用することをお勧めします。

入力、 Windowsで仮想環境を素早く整然とセットアップする 複雑なミッションのようですね。幸いなことに、次のようなツールがあります Hyper-V 上の Vagrant それを可能にするために。また、その使用は VirtualBox と関連付けられることが多いですが、多くのバージョンの Windows にすでに統合されているこの仮想化テクノロジとも完全に互換性があります。
それにもかかわらず、インストールと設定 浮浪者 Hyper-V では見た目ほど簡単ではありません。がある 主な手順 知っておくべき Microsoft 仮想化プロバイダーの特徴について説明します。この記事では、この方式に従って問題なく仮想環境を起動するために必要なすべての情報を提供します。
Vagrant とは何ですか? また、なぜ Hyper-V を使用するのですか?
浮浪者 です オープンソースツール 許可 シンプルな構成ファイルを通じて、再現可能で移植可能な仮想環境を構築します。 複数のオペレーティング システムをサポートし、開発者、システム管理者、またはコンピューター間で一貫した環境を必要とするユーザー向けに設計されています。
その部分については、 Hyper-VはMicrosoftのネイティブハイパーバイザーですWindows 8.1 以降の Professional、Enterprise、Education バージョンに含まれています。高いパフォーマンスと安定性を提供し、VirtualBox などの他のハイパーバイザーが最新の Windows 環境で競合する場合に特に役立ちます。
選択する最も一般的な理由の1つは Hyper-Vの VirtualBoxの代わりに、 Dockerデスクトップ または WSL2 (Windows Subsystem for Linux) では、Hyper-V を有効にする必要があります。これにより、VirtualBox との非互換性が生じ、サービスをアクティブ化および非アクティブ化したくない場合は、Hyper-V が唯一の有効なソリューションになります。
VagrantのインストールとHyper-Vの有効化
Hyper-VでVagrantを使い始める前に、 コンピュータでHyper-Vが有効になっていることを確認してください。通常、デフォルトでは有効になっていないので注意してください。これは、「Windows の機能を有効にする」セクションから手動で行うか、PowerShell で次のコマンド (管理者として) を使用して行うことができます。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
このコマンドを実行した後、 コンピュータの再起動が必要です 変更を有効にするため。
同時に、 公式サイトからVagrantをダウンロードしてインストールします。インストーラーにはコマンドを使用するために必要なものがすべて含まれています vagrant どの端末からも直接。
インストールが完了したら、ターミナルで次のコマンドを実行して、すべてが正しいかどうかを確認できます。
vagrant --version
このコマンドはインストールされているバージョンを返します。たとえば、 浮浪者2.4.0.
ステップ1: ベース環境を準備する
Vagrantは、プリインストールされたオペレーティングシステムのベースイメージである「ボックス」をベースにしています。。これらは、Vagrant Cloud と呼ばれるパブリック インデックスから自動的にダウンロードされます。まず、プロジェクトで作業するフォルダーを作成する必要があります。例えば:
mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36
このコマンド Vagrantfileというファイルを生成します ここにすべての仮想マシン構成が保存されます。その中で、Hyper-V を使用するためにいくつかの重要なパラメータを調整する必要があります。
Hyper-V プロバイダーの構成
デフォルトでは、 VagrantはVirtualBoxをプロバイダーとして使用しようとします。 Hyper-V を使用するには、次のコマンドを実行して毎回これを指定できます。
vagrant up --provider=hyperv
または、環境変数を設定して Hyper-V をデフォルトのプロバイダーとして設定します。
$env:VAGRANT_DEFAULT_PROVIDER="hyperv"
この手順は、PowerShell から実行することも、システム環境変数で直接実行することもできます。
Vagrantfile内では、 特定の設定でプロバイダーを指定することをお勧めします。基本的な例は次のようになります。
Vagrant.configure("2") do |config|
config.vm.box = "generic/alpine36"
config.vm.provider "hyperv" do |h|
h.vmname = "mi_vm_hyperv"
h.memory = 2048
h.cpus = 2
end
end
これらのパラメータを使用すると、 RAM、コア数、Hyper-V でのマシン名.
Hyper-V のネットワークと接続
VagrantのHyper-Vの弱点の一つは、ネットワークを自動的に構成しないことである。。このため、Hyper-V ですでに外部接続が作成されている vSwitch を手動で選択する必要があります。
プライベート ネットワークを関連付けたり、特定の vSwitch を選択したりするには、以下を使用します。
config.vm.network "private_network", bridge: "NombreDelvSwitch"
覚えておいてください Hyper-V では、Vagrant から静的 IP を直接構成することはできません。したがって、スクリプトを使用するか、ゲスト オペレーティング システムの設定を変更して設定する必要があります。
マシンアクセス: SSHおよびその他のツール
WindowsではSSHが使えないと思われるかもしれませんが、 VagrantにはSSHクライアントが組み込まれているなので、追加のプログラムをインストールしなくてもアクセスできます。
ログイン:
vagrant ssh
PuTTYを使用することもできますが、その場合は Vagrantによって生成された秘密鍵をPPK形式に変換する (PuTTYgen を使用) 直接サポートされていないためです。キーは次の場所にあります:
.vagrant/machines/default/hyperv/private_key
これにより、任意の SSH クライアントから手動で接続できるようになります。
スクリプトによるプロビジョニング
Vagrantの最大の利点の一つは、 スクリプトによる自動プロビジョニング。繰り返しインストール用のシェル スクリプトを起動できます。
config.vm.provision "shell", path: "bootstrap.sh"
ファイル内 bootstrap.sh 次のような指示を含めることができます。
apk update
apk add git
これは実行されます VMが初めて作成されるとき。後でスクリプトを再適用する場合は、次のようにします。
vagrant reload --provision
複数のマシンでの作業
Vagrant を使用すると、1 つのファイルから複数のマシンを管理できます。これはラボやサーバー クラスターに役立ちます。ラボの一般的な設定には、次のような複数の定義が含まれます。
Vagrant.configure("2") do |config|
config.vm.define "master" do |master|
master.vm.box = "bento/ubuntu-20.04"
master.vm.hostname = "master"
master.vm.network :private_network, ip: "10.0.0.10"
end
(1..2).each do |i|
config.vm.define "node#{i}" do |node|
node.vm.box = "bento/ubuntu-20.04"
node.vm.hostname = "node#{i}"
node.vm.network :private_network, ip: "10.0.0.#{i + 10}"
end
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get install -y avahi-daemon libnss-mdns
SHELL
end
これにより、機械は名前で互いを認識することができる。 ノード1.ローカル o マスター.ローカル mDNS の使用により実現しました。
パフォーマンスと互換性に関するヒント
Hyper-V 上の Vagrant のパフォーマンスは一般的に良好ですが、以下の要素に依存します。
- ホストチームの力 (RAM、CPU、ディスクタイプ)。
- 使用されるベースイメージ (最適化されたボックスを使用することをお勧めします)。
- 同時に実行されているマシンの数。
- 差分ディスク使用量とシン プロビジョニング。
複数の環境をスクリプト化する一般的な方法は、 パーソナライズされたボックス ツール、サービス、ルートなどのすべてのカテゴリがすでに含まれています。これにより、インスタンスごとに同じものを再インストールする必要がなくなります。
WindowsのHyper-VでVagrantを使用するのは完全に実行可能ですただし、いくつかの制限は、小さな調整で解決できます。 Hyper-V は最新の Microsoft テクノロジとの堅牢性と互換性を提供し、Vagrant は開発環境の自動化と移植性を促進します。
テクノロジーとインターネット問題を専門とする編集者で、さまざまなデジタル メディアで 10 年以上の経験があります。私は、電子商取引、通信、オンライン マーケティング、広告会社で編集者およびコンテンツ作成者として働いてきました。経済、金融、その他の分野のウェブサイトにも執筆しています。私の仕事は私の情熱でもあります。さて、私の記事を通じて、 Tecnobits, 私は、私たちの生活を向上させるために、テクノロジーの世界が私たちに提供するすべてのニュースや新しい機会を毎日調査しようとしています。



