仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

Vagrant 仮想化 - 導入ガイド

自分の人生は退屈だと思っていて、遊んだりいじったりするのに十分な仮想化ソフトウェアを持っていないなら、今日のコンテンツに最も満足するでしょう。仮想化の展開とテスト用のラッパー ソフトウェアである Vagrant に特化した記事全体。

アイデアは次のとおりです。核心的なコマンドを隠して統一されたインターフェースを提示し、クラウドなどの流行語を結び付けると、誰もが話題にするホットな新技術になります。 OpenStack、OpenShift、OpenCloud、およびその他の派手な名前によく似ています。実際、PostgreSQL、Jenkins、Node.js などのネームドロッパーをさらに追加できれば、モダンでヒップでクールであることで追加のポイントを獲得できます。しかし、皮肉はさておき、このツールで何ができるか、そしてそれが役に立つか、価値があり、楽しいか見てみましょう。

言葉はとても必要です

いくつかのコンテキストを提供するために、少しだけ紹介します。 Vagrant は元々、混在する高速環境での仮想化リソースのソフトウェア テスト、開発、および管理を簡素化するために設計されました。当初は、VirtualBox でしか動作しませんでした。これは業界で選択されたハイパーバイザーではありませんでしたが、最近では、このプログラムは VMware、KVM などの他のテクノロジーもサポートしており、いくつかの優れた統合トリックが付属しています。

簡単に言えば、ネイティブ コマンドではなく vagrant コマンドを使用するという手口です。複数のハイパーバイザーを使用する場合、それらはすべて異なる構文を持つため、一種のオーバーヘッドになる可能性があります。これが、Vagrant を使用し、うまくいけば柔軟な抽象化の層の背後に醜いものを隠す理由です。しかし、退屈な言葉はもう十分です。実践的に学び、手足で学びましょう。

セットアップ中

より興味深いものにするために、Linux でこれを実演するつもりはありません。ちょっと待って。ここでは Windows を使用しますが、これは少し変化を加えるためです。フォローアップの記事では、信頼してください。多くの記事があり、Linux に戻りますが、ここでは、概念的には違いがないことを示したいと思います。

次に、興奮して、Powershell ウィンドウを開き、いくつかのコマンドを入力し始めます。たとえば、Vagrant を実行したい場合は、次のコマンドを実行して実行します:

浮浪者アップ

ただし、作業環境の準備と初期化を行っていない場合は、かなり厄介なエラーが発生します:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe up
これを実行するには、Vagrant 環境またはターゲット マシンが必要です。
指図。 「vagrant init」を実行して、新しい Vagrant 環境を作成します。または、「vagrant global-status」からターゲット マシンの ID を取得して、このコマンドを実行します。最後のオプションは、Vagrantfile のあるディレクトリに変更して、再試行することです。

環境を初期化したら、本格的に作業を開始できます。

しかし、繰り返しになりますが、いくつかの醜いエラーに対処する必要があります:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe up
'virtualbox' プロバイダーを使用してマシンの 'default' を起動しています...
==> デフォルト:ボックス 'base' が見つかりませんでした。検索してインストールしようとしています...
デフォルト:ボックスプロバイダー:virtualbox
デフォルト:ボックス バージョン:>=0
==> デフォルト:プロバイダのボックス 'base' (v0) を追加:virtualbox
デフォルト:ダウンロード中:ベース
デフォルト:
リモート ファイルのダウンロード中にエラーが発生しました。エラー
メッセージがある場合は、以下に再掲します。このエラーを修正して、もう一度お試しください。

ファイル /HashiCorp/Vagrant/bin/base を開けませんでした
PS C:\HashiCorp\Vagrant\bin>

デフォルトでは、Vagrant の Windows バージョンは基本イメージから仮想マシンを起動しようとします。そのイメージは使用できないため、事前準備なしで実行すると up コマンドが失敗します。

したがって、最初にいくつかの画像をプルします。 Docker と同じように、Vagrant には基本的なテンプレートが保存されている独自のオンライン リポジトリが付属しています。オペレーティング システムを手動で取得してインストールすることはできますが、それには前述の抽象化のポイントが欠けています。たとえば、画像を取得してみましょう:

vagrant ボックスは、hashicorp/base を追加します

存在しない画像を指定すると、さらにエラーが発生します:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe box add hashicorp/base
ボックス 'hashicorp/base' が見つからないか、リモート カタログにアクセスできませんでした。これが HashiCorp の Atlas のプライベート ボックスである場合は、「vagrant login」でログインしていることを確認してください。また、名前を再確認してください。拡張された
URL とエラー メッセージは次のとおりです。

URL:[「https://atlas.hashicorp.com/hashicorp/base」]
エラー:要求された URL がエラーを返しました:404 Not Found

しかし、あなたは基本イメージを期待しています。この問題が発生する理由については、さまざまなオンライン リファレンスがあり、設定ファイルのデフォルトの宣言に行き着きます。使用可能なイメージのいずれかに変更してダウンロードすると、問題が解決します。実際、Vagrantfile では、デフォルト エントリを編集する必要があります。文字列 base を、Vagrant の起動時にデフォルト イメージとして使用するものに置き換えます。これは、Ubuntu、Fedora、CoreOS、またはそのようなものです。

# すべての Vagrant 開発環境にはボックスが必要です。ボックスは https://atlas.hashicorp.com/search で検索できます。
config.vm.box ="ベース"

私たちの演習では、これには非常に良い将来の理由があり、CoreOS イメージ (yungsang/coreos) のあまり明白ではない選択をテストします。画像をつかみます。

カタログに実際に追加されていることを確認してください:

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe ボックス リスト
ubuntu/trusty64 (virtualbox、20150506.0.0)
yungsang/coreos (virtualbox、1.3.8)

次に、Vagrant を再度実行します。 CoreOS が起動し、ユーザーとネットワークのセットアップ、およびその他のいくつかの詳細が含まれます。しばらくすると、システムが起動します。これで、SSH を使用してホストへの接続を試みることができます。デフォルトでは、実行中の各インスタンスに localhost のポートが割り当てられます。この場合、ボックスの SSH サービスは 127.0.0.1 のポート 2222 で実行されています。これは、Docker で見たものと非常によく似ています。繰り返しになりますが、レポの概念、ネットワーキングは非常に似ています。ヒント、これには正当な理由があります。

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe up
'virtualbox' プロバイダーを使用してマシンの 'default' を起動しています...
==> デフォルト:ベースボックス 'yungsang/coreos' をインポートしています...
==> デフォルト:NAT ネットワークの MAC アドレスに一致しています...
==> デフォルト:ボックス 'yungsang/coreos' が最新かどうかを確認しています...
==> デフォルト:VM の名前の設定:bin_default_1431611566870_38538
==> デフォルト:以前に設定されたネットワーク インターフェイスをクリアしています...
==> デフォルト:構成に基づいてネットワーク インターフェイスを準備しています...
デフォルト:アダプタ 1:nat
==> デフォルト:ポートを転送しています...
デフォルト:22 => 2222 (アダプタ 1)
==> デフォルト:「起動前」の VM カスタマイズを実行しています...
==> デフォルト:VM を起動しています...
==> デフォルト:マシンが起動するのを待っています。これには数分かかる場合があります...
デフォルト:SSH アドレス:127.0.0.1:2222
デフォルト:SSH ユーザー名:コア
デフォルト:SSH 認証方式:秘密鍵
デフォルト:警告:接続タイムアウト。再試行しています...
==> デフォルト:マシンが起動し、準備完了!

仮想マシンに接続

仮想マシンが実行されています。偉大な。 vagrant ステータスで確認できます:

vagrant ssh または vagrant rdp wrapper コマンドを使用して、実行中の仮想マシンにステップ インできます。これを行うためのより高度な方法は他にもありますが、ネットワークとクラスターに焦点を当てたフォローアップ チュートリアルで説明します。

Windows クライアントの場合、RDP を使用できますが、RDP は CoreOS 内で使用できないため、この場合は機能しません。 VNC がオプションかどうかはわかりませんが、まだテストする必要があります。同様に、SSH は問題を引き起こします。Windows にはデフォルトの SSH エージェントが同梱されておらず、PuTTY がインストールされている場合はパスに含まれていない可能性があるためです。

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe rdp デフォルト
==> デフォルト:RDP 情報を検出しています...
このマシンの RDP 接続情報を取得できませんでした
検出されました。これは通常、IP が見つからない場合に発生します
または RDP 用に接続するポート。転送していることを確認してください
RDP ポートと、マシンにアクセスできること。

PS C:\HashiCorp\Vagrant\bin> .\vagrant.exe ssh デフォルト -- -A
%PATH% 変数のどのディレクトリにも `ssh` 実行可能ファイルが見つかりません。 SSH クライアントはインストールされていますか? Cygwin、MinGW、または Git をインストールしてみてください。これらにはすべて SSH クライアントが含まれています。または、以下に示す認証情報を使用してお気に入りの SSH クライアントを使用します。

ホスト:127.0.0.1
ポート:2222
ユーザー名:コア
秘密鍵:C:/Users//.vagrant.d/insecure_private_key

次に、Windows で作業している場合は、OpenSSH キーを PuTTY 形式などに変換する必要もあります。繰り返しになりますが、ほとんどの人が Vagrant の冒険で遭遇することはありませんが、同様の問題がさまざまな方法で取り組まれているのを見るのは役に立ちます。

この時点で、VirtualBox をプロバイダーとして使用して、最初の Vagrant VM インスタンスを正常に起動しましたが、これはテスト中にどこにも遭遇したことがありません。そうですね。しかし、明示的な VirtualBox コマンドを使用する必要はなく、XML ファイルなどについて心配する必要もありませんでした。これは始まりに過ぎませんが、今日のチュートリアルも終わりです。盛況のうちに締めくくります。

続きを読む

ちょっとしたテキストが欲しい場合:

Linux Journal の記事である Vagrant の紹介

Vagrant の短期集中コース

Docker ネットワーキング関連

結論

Vagrant は興味深い概念のように思えますが、環境内の課題を解決する最良の方法ではないかもしれません。仮想化を本当にマスターしたい、そしてセットアップのすべての事実を制御する必要がある場合は、必要な時間、血、忍耐を投資して、すべてを徹底的に学習する必要があります。そうしないと、問題が発生したときに実際に解決することができず、テクノロジーを理解するか理解することができないからです。

しかし、これは興味深いスピンであり、仮想の旅で Vagrant をどこまで進めることができるかはまだわかりません。少なくとも、プログラムのセットアップの問題と初期構成を処理し、イメージを取得して開始する方法を学び、いくつかの基本的なチェックを行い、ネットワーク接続に対処しました。非常に便利です。 VMware、LXC、libvirt、さらに高度なネットワーキング、クラスター設定などの接続部分を拡張する非常に重要なプラグイン フレームワークなど、さらに多くの機能が追加されることは間違いありません。最新情報をお楽しみに。

乾杯。


  1. VirtualBox 4 - 新機能

    数日前、Oracle (旧 Sun、旧 innotek) は、仮想化の主力製品である VirtualBox の新バージョンをリリースしました。私はこのハンサムで用途の広い製品が本当に好きなので、試してみましょう.オラクルは OpenSolaris や OpenOffice などの他の製品とあまり友好的ではなかったため、新しい所有権を考慮して、品質と可用性がどのように変化するかだけが心配でした。キーワードは、どのブランドでも open を使用しないことだと思います。絶対。おそらく。 いずれにせよ、VirtualBox は優れた無料のデスクトップ仮想化ソフトウェアであり、日を追うごとに強力にな

  2. MojoPac - デスクトップ仮想化ソフトウェア

    大容量のポータブル USB デバイスが手ごろな価格で簡単に手に入るようになったので、親指サイズのドライブで大量のデータやアプリケーションをポケットに入れて持ち運べるというアイデアは非常に魅力的です。この用途に特に適した人気のあるソフトウェアには、Portable Apps と Pendrive Linux があります。これら 2 つの概念にはいくつかの小さな欠点があります。 Portable Apps は、Windows コンピューターでのみ使用できます。ユーザーは Firefox、GIMP、OpenOffice などの多くの機能を持ち運ぶことができますが、サム ドライブ上のアプリケーショ