web-dev-qa-db-ja.com

生産中の浮浪者

私はVagrantについて読んでいますが、私の開発には非常に役立ちます。私は現在、一連のサービス(メール、Web、LDAP、ファイル共有など)を管理しています。多くの場合、これらの1つに該当し、迅速なバックアップが必要です。これらの目的でVagrantを使用することは可能ですか(推奨されますか)?

これまでのところ、仮想マシンは実際のマシンのようにインストールされています。

また、シンプルな構成ファイルをセットアップして、たとえばZimbraを使用して仮想マシンを配置し、すぐに代替メールサーバーを用意し、RabbitMQなどを有効にすることができるVagrantの代替についても知りたいです。

39
rkmax

インフラストラクチャの変更をテストするには、Vagrantをステージング環境のように使用する必要があります。これは、インフラストラクチャの自動変更のためのテストベッドである必要があります。

私の会社での使用方法は次のとおりです。

  1. Vagrantで管理対象サーバーのVMを作成します。
  2. 各サーバーのパペット定義を作成します。
  3. 各サーバーのキュウリテストを作成します。
  4. パペットを介してインフラストラクチャを変更し、キュウリのテストを追加します。
  5. サーバーを起動して、障害をテストします。
  6. バグを修正してリリースし、ステップ4に戻します。

基本的に、変更に満足したら、パペットの変更を本番環境に導入してそれを実現します。

実際の本番環境でVMを管理するためにvagrantを使用することはお勧めしません。私は、razor、virsh、OpenStack、または他の多くのvm管理システムのいずれかを使用します。

17
Sekm

このページは、Vagrant Pushコマンドが本番環境にデプロイするためのものであることを示唆しています:

https://www.hashicorp.com/blog/vagrant-Push-one-command-to-deploy-any-application/

「さらに、複数のconfig.Push.define宣言をVagrantfileに含めることで、複数のプッシュを定義できます。たとえば、1つはステージング用、もう1つは本番用などです。」

1
skinneejoe
  • 私の経験から、Vagrantは主に開発環境で使用されていました。
  • たとえば、Varantantの構成とプロビジョニングのオプションは、Terraformに比べて制限されています。
  • クラウドベースの環境で作業している場合は、インフラストラクチャのプロビジョニングにTerraformを使用できます。
  • 環境がローカルであるか、VMがデータセンターでホストされる場合は、構成管理と自動化にAnsible、chef、またはpuppetを使用できます。
0
Omar Khaled

同じ質問があり、Vagrant Pushの使用を調査してきました documentation に従って、バージョン1.7以降、VagrantはVagrantfileと同じディレクトリにアプリケーションコードを展開または「プッシュ」できますFTPサーバーなどのリモートに。

開発者向けのVMで浮浪者をスピンアップさせることを検討していると同時に、本番環境のライブサーバーにコードをデプロイするオプションも提供しています。

0
aphexlog

Hashicorpが Otto を公開しました。これはVagrantの後継となることを意図しています。デプロイメント環境をサポートするように設計されています。

彼らの Githubページ から:

Ottoの主な機能は次のとおりです。

  • 自動開発環境:Ottoはアプリケーションタイプを検出し、ゼロまたは最小限の構成で、そのアプリケーションに合わせて特別に調整された開発環境を構築します。アプリケーションが他のサービス(データベースなど)に依存している場合は、開発環境でそれらのサービスが自動的に構成および開始されます。

  • マイクロサービス用に構築されています:Ottoは依存関係とバージョニングを理解し、アプリケーションとその環境のすべての依存関係を自動的にデプロイして構成できます。アプリケーションはOttoに直接の依存関係を伝えるだけです。依存関係の依存関係は自動的に検出および構成されます。

  • Deployment:Ottoはアプリケーションのデプロイ方法と開発方法を知っています。アプリケーションが最新のマイクロサービスであれ、レガシーモノリスであれ、あるいはその中間であれ、Ottoはアプリケーションを任意の環境にデプロイできます。

  • Docker:Ottoは、Dockerを使用して開発用の依存関係をダウンロードおよび開始し、マイクロサービスを簡素化できます。アプリケーションを自動的にコンテナ化して、開発者のワークフローを変更せずに導入を容易にすることができます。

  • プロダクション強化ツール:Ottoはプロダクション強化ツールを使用して開発環境を構築し( Vagrant )、サーバーを起動します( Terraform )、サービスの構成( Consul )など。 Ottoは、世界最大のWebサイトを強化するツールに基づいて構築されています。 Ottoはすべてのツールを自動的にインストールして管理するため、その必要はありません。

0
André Pena