Virtualbox 部署集群环境

背景

在学习部署kafka一套集群环境时想沿用原来的环境,原因是该环境是使用vagrant部署的开发环境,在这套环境里面已安装java、kafka、lnmp等很多软件,为能快速部署保持环境一致性,部署创建多个节点即可。以下为实现步骤:

历史环境

  • 部署环境教程 https://zhuanlan.zhihu.com/p/22345804

实现步骤

  • 首先查看虚拟机列表
$ sudo vboxmanage list vms
"centos_default_1562122240261_3767" {4a799c77-4f2e-44ce-bda5-4baa5e60e3be}
  • 打包导出镜像
sudo vagrant package --base centos_default_1562122240261_3767 --out centos71.box
  • 添加镜像到Vagrant
sudo vagrant box add centos0801  centos71.box
  • 配置Vagrantfile文件

Vagrant.configure("2") do |config|

    config.ssh.username = "root"
    config.ssh.password = "vagrant"
    config.vm.define "default" do |default|
        default.vm.box = "centos71" # 历史box
        default.vm.network "private_network", ip: "192.168.33.10"
        default.vm.synced_folder "~/Documents/phpstorm", "/home/wwwroot", owner:"www", group:"www",create:true
        default.vm.provider "virtualbox" do |v|
            v.memory = 2048
            v.cpus = 2
        end
    end

    config.vm.define "web" do |web|
        # 设置虚拟机的Box
        web.vm.box = "centos0801"
        # 设置虚拟机的主机名
        web.vm.hostname = "web"
        # 设置虚拟机的IP
        web.vm.network "private_network", ip: "192.168.33.11"
        # 设置主机与虚拟机的共享目录
        web.vm.synced_folder "~/Documents/phpstorm", "/home/wwwroot"
        web.vm.provider "virtualbox" do |v|
            # 设置虚拟机的内存大小
            v.memory = 2048
            # 设置虚拟机的CPU个数
            v.cpus = 2
        end
    end

    config.vm.define "node" do |node|
        node.vm.box = "centos0801"
        node.vm.hostname = "node"
        node.vm.network "private_network", ip: "192.168.33.12"
        node.vm.synced_folder "~/Documents/phpstorm", "/home/wwwroot"
        node.vm.provider "virtualbox" do |v|
            v.memory = 2048
            v.cpus = 2
        end
    end
end
  • 启动所有虚拟机
sudo vagrant up   # 单个  vagrant up web
  • 关闭所有虚拟机
sudo vagrant  halt   # 单个  vagrant halt web

你可能感兴趣的:(Virtualbox 部署集群环境)