脚本宝典收集整理的这篇文章主要介绍了搭建本地的 vm 开发测试平台: vagrant,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
背景
服务器开发现在经常涉及分布式系统,不再是仅仅管理好自己的进程就可以了,需要管理进程间的协作,服务器间的协作。这就需要启动多个 vm,没有一个自动化的方案,这个过程会非常烦人。
vagrant 是专门解决此问题的利器。
安装
- 首先我们要安装 VirtualBox,免费的虚拟机。当前版本 5.0.0。
- 然后下载安装 vagrant,命令行下管理虚拟机的工具。当前版本 1.7.4。
- VirtualBox 的虚拟机(guest)要想直接与宿主机器的文件系统交互,需要安装 guest addition。如果我们要给每个虚拟机来收工安装它,自动化还从何说起?安装插件 vagrant-vbguest。
vagrant plugin install vagrant-vbguest
配置
接着需要创建一个工程目录,如 vm-run
,把自己对于这个 vm 的设置都放在这里。
我们要创建一个 Vagrantfile 的配置文件,来配置这个 vm 集群,这里将包括有几个 vm,它们从哪里安装系统(image)、它们的 ip 地址等基本配置。例如:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
box_url = "https://github.com/kraksoft/vagrant-box-ubuntu/releases/download/14.04/ubuntu-14.04-amd64.box"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.ssh.insert_key = false
config.vm.provider "virtualbox" do |v|
v.memory = 2048
end
config.vm.define "node1" do |node|
node.vm.box = "ubuntu14"
node.vm.box_url = box_url
node.vm.network "private_network", ip: "192.168.50.4"
end
config.vm.define "node2" do |node|
node.vm.box = "ubuntu14"
node.vm.box_url = box_url
node.vm.network "private_network", ip: "192.168.50.5"
node.vm.network "forwarded_port", guest: 5555, host: 12201, protocol: 'tcp'
end
config.vm.define "node3" do |node|
node.vm.box = "ubuntu14"
node.vm.box_url = box_url
node.vm.network "private_network", ip: "192.168.50.6"
end
end
创建了三个 vm。
使用
- 一切完成后,我们可以用
vagrant up
来启动整个集群!
- 你可以用
ssh -i ~/.vagrant.d/insecure_private_key vagrant@192.168.50.4
来连接 vm,也可以更简单,用 vagrant ssh node1
来登入。
-
vagrant suspend
将集群暂停。
- 如果集群有问题,或者我们需要确保一个全新的集群,
vagrant destroy -f
可以删除全部 vm。
以上是脚本宝典为你收集整理的搭建本地的 vm 开发测试平台: vagrant全部内容,希望文章能够帮你解决搭建本地的 vm 开发测试平台: vagrant所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。