vagrant multi machine 多节点虚拟集群

前两片文章分享了homestead + vagrant 配置,但都是单点的,现在我们一起研究研究多节点集群的配置。

多节点集群配置/创建

安装VirtualBox

安装Vagrant

下载Box

这些前面文章都有讲解,也有下载链接,就不在重复,可以查看:这里写链接内容

修改vagrantfile

1. 原vagrantfile 为:

Vagrant.configure("2") do |config|
  ## 中间注释忽略
end

2. 修改添加代码如下:

Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  # config.vm.box = "base"

  (1..3).each do |i|

        config.vm.define "node#{i}" do |node|

        # 设置虚拟机的Box
        node.vm.box = "laravel/homestead"

        # 设置虚拟机的主机名
        node.vm.hostname="node#{i}"

        # 设置虚拟机的IP
        node.vm.network "private_network", ip: "192.168.10.1#{i}"

        # 设置主机与虚拟机的共享目录
        node.vm.synced_folder "F:/workSpace/quickstart1", "/home/vagrant/share"

        # VirtaulBox相关配置
        node.vm.provider "virtualbox" do |v|

            # 设置虚拟机的名称
            v.name = "node#{i}"

            # 设置虚拟机的内存大小  
            v.memory = 2048

            # 设置虚拟机的CPU个数
            v.cpus = 1
        end

        # 使用shell脚本进行软件安装和配置
        # node.vm.provision "shell", inline: <<-SHELL

        #     # 安装docker 1.11.0
        #     wget -qO- https://get.docker.com/ | sed 's/docker-engine/docker-engine=1.11.0-0~trusty/' | sh
        #     usermod -aG docker vagrant

        # SHELL

         end
    end

与创建单个虚拟机相比,创建多个虚拟机时多了一层循环,而变量i可以用于设置节点的名称与IP,使用#{i}取值:

(1..3).each do |i|

end

通过之前文章的讲解,应该知道怎么对应共享文件吧,代码中的:

# 设置主机与虚拟机的共享目录
        node.vm.synced_folder "F:/workSpace/quickstart1", "/home/vagrant/share"

创建虚拟机

vagrant up

该命令将循环创建3个分别为:node1, node2,node3 三个虚拟机。如图:
这里我只启动了一个node1 和其他我在用的

而 vagrant up 会创建并启动你循环的所有虚拟机。

集群管理

常用命令

下面是一些常用的Vagrant管理命令,操作特定虚拟机时仅需指定虚拟机的名称。

命令解释
up启动homestead
halt停止homestead
init创建初始化的homestead.yaml
edit编辑homestead.yaml
suspend挂起homestead
resume继续挂起的homestead
ssh通过ssh登录homestead
run通过ssh在homestead上运行命令
status获取homestead的状态
list列表命令
help显示命令的帮助
provision重新配置homestead
destroy销毁homestead
update更新homestead镜像

启动单个虚拟机

vagrant up node1

启动多个虚拟机

vagrant up node1 node2

启动所有虚拟机

vagrant up

其他登录虚拟机之类的,前面的文章都有介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟没翅膀

你的打赏是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值