1. 环境准备
Microsoft Windows 10 / 11
Oracle VirtualBox
HashiCorp Vagrant
CentOS 8 vagrant
注意:CentOS 8 vagrant 的版本官方不再提供技术支持,可通过官方下载链接 https://www.centos.org/download/ 下载 CentOS 7 的 vagrant版本 其他方式一样,只需要修改自定义命名即可。
- 官方下载:
- 私人百度云
链接: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. 安装步骤
-
安装 VirtualBox
-
安装 Vagrant
-
使用 vagrant 加载 CentOS 到本地库
-
同网段多虚拟机互通并安装 Open JDK 11
选择路径的过程我没有放出来,因为我 搞了 1T 的 C 盘,无法起到表率作用。
3. 过程详解
文件:
-
安装 VirtualBox
过程与正常安装软件相同,唯一注意的是由于需要安装虚拟网卡,可能会引起重启的反应,例如:
重启完成之后一些奇奇怪怪的问题就没有了。 -
安装 Vagrant
会验证加载一下
继续安装
完成之后可以通过命令行验证
-
使用 vagrant 加载 CentOS 到本地库
# 命令经过验证,注意命令执行位置与 box 文件所在目录一致即可
vagrant box add ./CentOS-8-Vagrant-8.3.2011-20201204.2.x86_64.vagrant-virtualbox.box --name centos-8
如果出现
说明添加成功
- 创建目录并进入初始化
mkdir demo
cd demo
vagrant init
目录中会出现 Vagrantfile 文件
将文件中的内容替换为如下内容
本内容主要意思为:创建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
日志流水截图:
后续日志就是重复了。
4. 环境验证
打开 VirtualBox
双击打开任意虚拟机。
用户名密码都是 vagrant
能 ping 通说明互相之间是网络互通。
5. 相关文档
Vagrant文档
Vagrant官网
知乎大神的 Vagrant 教程
6. 相关知识储备
- ruby 官网
- Linux Centos / Ubuntu
- Linux 命令相关 Linux就该这么学 Linux命令速查手册