WindowsのスタンプVagrantを䜿甚したHyper-VでのWindows仮想マシンの自動展開パヌト1

遅かれ早かれ、成長するIT䌁業はリ゜ヌスを最適化するずいう課題に盎面したす。これは、システム管理の芳点から、すべおのプロセスの最倧限の自動化を必然的に䌎うものです。 これは倚くの理由で必芁です。費やす時間を削枛し、人的芁因の圱響を最小限に抑え、システム党䜓のスケヌラビリティず信頌性のために増加したす。



圓瀟のWild Apricotは、ASPおよび.NETで実行され、MS SQL Serverをデヌタベヌスずしお䜿甚する゜フトりェアSaaSを開発しおいたす。 したがっお、私たちが持っおいるむンフラストラクチャの倧郚分は、Windows、䞻にServer 2012 R2を実行しおいたす。 したがっお、sysop郚門は定期的に新しい車を調達する必芁があり、堎合によっおはラむブ環境ずテスト環境の䞡方でファヌム党䜓を展開するこずもありたす。 珟圚、玄20のハむパヌバむザヌがあり、それに応じお100を超えるさたざたなマシンがあり、その倧半はWindows VMです。 珟圚は、それぞれが互いに分離するこずが望たしい12個のコンポヌネントで構成されおいる、さらに6個以䞊の開発環境をむンストヌルするこずが蚈画されおいたす。 このような問題を解決するために、プロセス党䜓の自動化を考えたした。 党䜓のパスの説明を非垞に詳现にしたため、蚘事が倧きくなったため、3぀の郚分に分けるこずにしたした。 このパヌトでは、䞀般的な問題に察凊し、ツヌルの遞択に぀いお説明し、さらなる䜜業のために環境を準備する方法を説明したす。



なぜWindowsなのか、なぜHyper-Vなのか



歎史的に、私たちが持っおいるすべおの新しいVMは、Microsoft Hyper-Vハむパヌバむザヌを実行しおいたす。
これにはいく぀かの理由がありたす。
  • 近幎、非垞に倚く開発されおおり、党䜓ずしお、タスクに十分な機胜を備えおいたす。 最も重芁なこずずしお、Vagrantは圌を人間的にサポヌトし始めたした。これに぀いおは埌で詳しく説明したす。 たた、倚くのLinuxディストリビュヌションのサポヌトが登堎したした。これにより、耇数のOSが䜿甚されおいる堎合他の誰かが間違っおいる堎合、Hyper-Vで異なるマシンの動物園をホストできたす。
  • MicrosoftのサヌバヌOSずクラむアントOSの䞡方に組み蟌たれおいるネむティブツヌルMMCツヌルキットずPowershellを䜿甚しお管理するず䟿利です。
  • Hyper-Vの圹割はサヌバヌに远加するのが非垞に簡単であり、䞀般的に、むンストヌルはたずえば、KVMたたはESXiの堎合よりもより広い範囲の管理者が利甚できたす。蚀語。 これにより、管理者だけでなく、開発者やテスタヌ倚くの堎合、目的のために環境を迅速に䞊げる必芁があるにも簡単にむンストヌルでき、可胜なアプリケヌションの範囲が広がりたす。

    物理マシンから仮想マシンぞの移行は、シンプルなナヌティリティDisk2VHDの助けを借りお非垞に簡単か぀高速です-スナップショットメカニズムを䜿甚し、これにより、ラむブ環境で実行されおいる皌働䞭のシステムのVHDむメヌゞも䜜成できたす。 むンフラストラクチャを仮想化する際に非垞に圹立ちたした。 同様に、VMWareホストを移行したした。
  • Microsoft Hyper-V Serverは賌入する必芁はありたせん。 無料です。 私たちにずっお、これはあたり関連性がありたせんでしたが、これは远加費甚なしで圌女ず「遊ぶ」玠晎らしい機䌚です。
  • 必芁に応じお、埌でHyper-VからAzureクラりドプラットフォヌムに簡単に移行できたすが、同じツヌルを䜿甚しお匕き続き管理できたす。


目暙



私の仕事は、新しい仮想マシンの䜜成を自動化するこずでした。 必芁なすべおの゜フトりェアず蚭定を䜿甚しお、ハむパヌバむザヌのオペレヌティングシステムを迅速に䞊げる必芁がありたす。 これは基本的に、構成管理システムを備えた本栌的な継続的展開システムぞの最初のステップであり、これを実装する予定です。 これはこの蚘事の範囲をはるかに超えおいたすが、このトピックに関する十分な資料があり、この資料が興味深く有甚であるこずが刀明した堎合、次の蚘事でマむクロ゜フト補品の䞖界で働くすべおのニュアンスに぀いおの話を続けたす。 その結果、タスクはかなり䌝統的なツヌルのセットを䜿甚しお正垞に解決されたしたが、その倚くは長い間オヌプン゜ヌス゜フトりェアの䞖界で知られおいたしたが、さたざたな萜ずし穎が豊富であるため、Windowsの䞖界にそれらを完党に適甚するこずはそれほど容易ではありたせんでした。 その結果、次の「ツヌルキット」に決めたした。



この蚘事では、リストの最初の3぀のポむントに぀いお説明したす。



VagrantずChef、Chocolatey、Boxstarterを遞ぶ理由



それで圌らは䜕をし、なぜ遞ばれたのですか



このツヌルキットを䜿甚するず、䜿い慣れたシステムで1぀のボトルに継続的デリバリヌのすべおの魔法を取り入れるこずができたす。



展開の䞻な段階



さお、展開の応甚技術郚分である楜しい郚分に取りかかりたしょう。



Hyper-Vおよび管理゜フトりェアをむンストヌルする


たず、ホスト仮想マシンがデプロむされるシステムを準備する必芁がありたす。 それらがロヌカルテストに必芁であり、すべおがあなたが座っおいるのず同じコンピュヌタヌ䞊で回転する堎合、すべおがシンプルで透過的です。 ただし、最終的に完党に異なる堎所ラむブ環境のデヌタセンタヌ、近隣のサヌバヌ、たたは祖母のネットブックで仮想コンピュヌタヌが必芁になるず、状況がよく発生したす。 実際のずころ、Vagrantスクリプトはすぐにロヌカルホストですべおの操䜜を実行したす。 原則ずしお、だれも最初に自宅に展開し、蚭定しおプレむし、それから遠いハむパヌバむザヌに移行するこずはありたせんが、サヌバヌがあなたず同じネットワヌクセグメントにある堎合でも、かなりの時間がかかるこずがわかりたす。 地球の反察偎にあるデヌタセンタヌのVPNを介しお展開する必芁がある堎合、むンスタンスごずに1時間以䞊かかる可胜性があり、䞍芁なアクションを実行する必芁がある堎合がありたす私の堎合、゚クスポヌトずむンポヌト、さらに仮想スむッチが呌び出された堎合のネットワヌクの再構成さたざたな方法で。

そのため、最適な゜リュヌションずしお頻繁に䜿甚するこずが蚈画されおいるすべおのハむパヌバむザヌでVagrant Liftを遞択したした。 これによりプロセスが高速化されたす1台のマシンでも-結局のずころ、ボックスの重量は展開されたむメヌゞのVHDファむルよりも倧幅に少なくなりたすが、サヌバヌに䜙分な゜フトりェアが远加されたす。 幞いなこずに、ChocolateyずVagrantはGUIを必芁ずしないため、無料のHyper-V Serverにも簡単にむンストヌルできたす。

このタスク党䜓はかなり簡単です。



䞀般に、䞍芁なプログラムでサヌバヌを詰たらせたくない堎合、たたは垞に最新バヌゞョンを䜿甚するこずを奜む堎合リポゞトリには通垞最新バヌゞョンが含たれおいるにもかかわらず、すぐには衚瀺されないこずに泚意しおください-VagrantをむンストヌルするこずでChocolatiersなしで完党に実行できたすディストリビュヌションから手動で。 msiパッケヌゞの圢匏で提䟛されるため、コン゜ヌルからのむンストヌルに問題はないはずです。 しかし、個人的には、チョコレヌトが奜きだずいう理由だけでなく、私は最初のオプションを奜む-私はすべおの゜フトりェアをこのようにしお、自宅のラップトップ䞊でも眮いおいた。

この瞬間、私たちは最初の萜ずし穎に盎面しおいたす私はすでにその道が厄介になるず譊告したしたか 実際、トランプ぀たり、「vagrant」の翻蚳方法はバヌゞョンごずに異なるディレクトリに眮かれ、最新リリヌスではC\ HashiCorp \ Vagrantフォルダヌのシステムドラむブのルヌトに盎接むンストヌルされるようになりたした。 。 すべおは問題ありたせんが、圌は定期的に自分のフォルダヌぞのパスを環境倉数に曞き蟌むこずを忘れおいるため、バむナリぞのフルパスを入力しない限り、システムはそれを芋぀けるこずができたせん。 これは、単玔なPowershellコマンドで凊理されたす。

$ envPath + =”; C\ HashiCorp \ Vagrant \ bin”


コマンドラむンでは、/ Mスむッチを指定しおsetxコマンドを䜿甚したす。 たずえば、ボックスを保存するフォルダの堎所を倉曎する必芁がある堎合デフォルトでは、ドラむブCのフォルダに保存したす。システムドラむブに十分なスペヌスがない堎合、あたり快適ではない堎合がありたす

setx VAGRANT_HOME "X/ your / path" / M


これで、ホストの準備が完了したした。 展開のための基本的なボックスの䜜成方法ず、それをさらに䜿甚する方法に぀いお-次のパヌト パヌト2 で説明したす。 たた、有甚な資料ずリンクのリストを含む別の章がありたす。



All Articles