1. 环境准备

Microsoft Windows 10 / 11
Oracle VirtualBox 
HashiCorp Vagrant
CentOS 8 vagrant 

注意:CentOS 8 vagrant 的版本官方不再提供技术支持,可通过官方下载链接 https://www.centos.org/download/ 下载 CentOS 7 的 vagrant版本 其他方式一样,只需要修改自定义命名即可。

  1. 官方下载:

VirtualBox

Vagrant

CentOS 8 vagrant type

  1. 私人百度云

链接:https://pan.baidu.com/s/1vnM7aARaXQsbjAbjiQa_-Q
提取码:hcvw

文件清单:

  • CentOS-8-Vagrant-8.3.2011-20201204.2.x86_64.vagrant-virtualbox.box
  • vagrant_2.2.19_x86_64.exe
  • VirtualBox-6.1.32-149290-Win.exe

2. 安装步骤

  1. 安装 VirtualBox

  2. 安装 Vagrant

  3. 使用 vagrant 加载 CentOS 到本地库

  4. 同网段多虚拟机互通并安装 Open JDK 11

    选择路径的过程我没有放出来,因为我 搞了 1T 的 C 盘,无法起到表率作用。

3. 过程详解

文件:
图片.png

  1. 安装 VirtualBox
    图片.png
    过程与正常安装软件相同,唯一注意的是由于需要安装虚拟网卡,可能会引起重启的反应,例如:
    图片.png
    重启完成之后一些奇奇怪怪的问题就没有了。

  2. 安装 Vagrant
    会验证加载一下
    图片.png
    继续安装
    图片.png
    完成之后可以通过命令行验证
    图片.png

  3. 使用 vagrant 加载 CentOS 到本地库

# 命令经过验证,注意命令执行位置与 box 文件所在目录一致即可
vagrant box add ./CentOS-8-Vagrant-8.3.2011-20201204.2.x86_64.vagrant-virtualbox.box --name centos-8

如果出现
图片.png
说明添加成功

  1. 创建目录并进入初始化
mkdir demo
cd demo
vagrant init

目录中会出现 Vagrantfile 文件
图片.png
将文件中的内容替换为如下内容
本内容主要意思为:创建4个虚拟机 从 4到1 虚拟机的名字为 “node-4” 创建好虚拟机后将防火墙关闭。

Vagrant.configure("2") do |config|
  numNodes = 4
  r = numNodes..1
  (r.first).downto(r.last).each do |i|
    config.vm.define "node-#{i}" do |node|
      node.vm.box = "centos-8"
      node.vm.provider "virtualbox" do |v|
        v.name = "node-#{i}"
        v.memory = "2048"
      end
      if i < 10
        node.vm.network :private_network, ip: "192.168.56.10#{i}"
      else
        node.vm.network :private_network, ip: "192.168.56.1#{i}"
      end
      node.vm.hostname = "node-#{i}"
      
      # config.vm.provision "shell", inline: <<-SHELL
      #   systemctl stop firewalld.service
      # SHELL
    end
  end
end

运行命令

vagrant up

日志流水截图:
图片.png
后续日志就是重复了。

4. 环境验证

打开 VirtualBox
图片.png
双击打开任意虚拟机。
图片.png
用户名密码都是 vagrant
图片.png
能 ping 通说明互相之间是网络互通。

5. 相关文档

Vagrant文档
Vagrant官网
知乎大神的 Vagrant 教程

6. 相关知识储备