vagrant (理想的には同じ vagrantfile から) を使用した dev/prod 環境の単純な自動化 (puppet を使用) をどのように処理していますか?
私が解決しようとしているユースケース
- 本番マシンが作成されていない場合は、vagrant で起動したいと思います。
- 開発環境の puppet ファイルで調整されている場合は、本番環境で nginx または apache conf を vagrant でリロードしたいと考えています。
問題
AWS や Digital Ocean などのプロバイダーで vagrant を呼び出すと、それがアクティブなプロバイダーになり、切り替えることができなくなります。次のエラーが表示されます。
アクティブなマシンが別のプロバイダーで見つかりました。Vagrant では現在、各マシンを一度に 1 つのプロバイダーのみで起動することができます。将来のバージョンでは、この制限が取り除かれます。それまでは、既存のマシンを破棄して、新しいプロバイダーを立ち上げてください。
破壊するのが答えのようですが、切り替える必要があります。破壊したくない。
言っていただけると幸いです
vagrant up prod
また
vagrant reload prod
そして、単純な vagrant up がデフォルトのマシンにフォールバックします。
この構文は、複数のマシンの動作に似ていますが、vagrant up (デフォルトの動作) を呼び出すだけで、開発環境と運用環境をスピンアップしたくありません。
ワークフローの一部としてパッカーを検討する必要がありますか? puppetconf 2013 での Mitchell の Multi-Provider に関する講演全体を見ましたhttp://puppetlabs.com/presentations/multi-provider-vagrant-aws-vmware-and-more
私はまだ私の問題の解決策を見ていません。
2013 年 9 月 27 日更新
他の誰かがこの考えに反対している場合に備えて、この記事は私が持っていた多くの疑問を解決しました. http://pretengineer.com/post/packer-vagrant-infra