Windos系统下使用Vagrant + virtualBox 快速构建多个虚拟机

Windos系统下 Vagrant + virtualBox 快速构建三个虚拟机

vagrant介绍

vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。使用Oracle的开源virtualBox虚拟化系统,使用Chef创建自动化虚拟环境。同时,vagrant也支持其他类型的虚拟机系统,如:vmware、kvm、qemu,甚至是容器系统,如docker等,当然,用的比较多的还是virtralBox。

vagrant与virtualBox原理

这里我们简述一下vagrant与virtualBox的原理,virtualBox(本身也可以创建虚拟机,只是相对麻烦)会开放一个创建虚拟机的接口,Vagrant会利用这个接口创建虚拟机,并且通过Vagrant来管理,配置和自动安装虚拟机。

首先

下载好vagrant 和 virtualBox 并且安装,vagrant会帮助你开始CPU虚拟化

vagrant :百度网盘

链接:https://pan.baidu.com/s/1M9_7tE-UMKlEiEb3uebw-g
提取码:iqe4

virtualBox : 迅雷下载链接

https://download.virtualbox.org/virtualbox/6.1.32/VirtualBox-6.1.32-149290-Win.exe

安装成功后查看cpu是否已开启虚拟化,如果没有百度解决:

上述完成后新建文件夹

例子 E:\centos

初始化

vagrant init centos/7

创建Vagrantfile文件,Vagrantfile文件是vagrant构建虚拟机的核心,主要用来定义虚拟机的各种配置,主要包括三个方面的配置:虚拟机的配置、SSH配置、Vagrant的一些基础配置。

启动虚拟机

vagrant up

此时没有下载任何虚拟机相关的镜像,vagrant会自动在远程仓库下载centos相关镜像,不过下载速度过慢,我们可以复制其下载链接,使用下载插件、软件 等下载,如迅雷

centos镜像:迅雷下载链接

https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box

下载完成后可以将镜像放在你新建的文件夹下面,此时你的文件夹下面应该有如下三个文件,然后删除.vagrant文件

配置Vagrantfile文件

下述配置文件将用来快速构建三个虚拟机

Vagrant.configure("2") do |config|
   (1..3).each do |i|
        config.vm.define "k8s-node#{i}" do |node|
            # 设置虚拟机的Box
            node.vm.box = "./virtualbox.box"

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

            # 设置虚拟机的IP(public_network:桥接 private_network:仅主机)
            node.vm.network "private_network", ip: "192.168.56.#{99+i}", netmask: "255.255.255.0"

            # 设置主机与虚拟机的共享目录
            # node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"

            # VirtaulBox相关配置
            node.vm.provider "virtualbox" do |v|
                # 设置虚拟机的名称
                v.name = "k8s-node#{i}"
                # 设置虚拟机的内存大小
                v.memory = 4096
                # 设置虚拟机的CPU个数
                v.cpus = 2
            end
        end
   end
end

上述文件配置了虚拟机的私有IP ,并分配了静态IP地址,需要保证该地址不会与其他地址冲突

node.vm.network "private_network", ip: "192.168.56.#{99+i}", netmask: "255.255.255.0"

另外:

config.vm.network "forwarded_port", guest: 80, host: 8080 用来配置端口转发

重新构建虚拟机

vagrant up

等待三台虚拟机的构建,构建完成后virtualBox如图:

连接虚拟机

1、可以直接通过ssh方式登录虚拟机

直接在构建目录中打开cmd窗口

vagrant ssh k8s-node1

即可登录 k8s-node1 虚拟机,此时用户非root,通过:su root 切换root用户 默认密码vagrant

其他两台虚拟机登录方式同上,只需更改虚拟机名称即可

2、通过xsheel登录

虚拟机默认权限不支持远程连接登录,需要修改虚拟机 sshd_config文件

vi /etc/ssh/sshd_config

键入 i 编辑,找到这两处配置解开注释,并且修改为yes, :wq保持退出

PermitRootLogin yes
PasswordAuthentication yes

然后重启sshd

systemctl restart sshd

然后就可以通过xsheel链接啦!通过ip addr查看虚拟机的ip地址 root 用户名密码默认都是vagrant。

另:vagrant常用命令如下

w$ vagrant box add NAME URL #添加一个box
$ vagrant box list #查看本地已添加的box
$ vagrant box remove NAME virtualbox #删除本地已添加的box,如若是版本1.0.x,执行$ vagrant box     remove NAME
$ vagrant init NAME #初始化,实质应是创建Vagrantfile文件
$ vagrant up #启动虚拟机
$ vagrant halt #关闭虚拟机
$ vagrant destroy #销毁虚拟机
$ vagrant reload #重启虚拟机
$ vagrant package #当前正在运行的VirtualBox虚拟环境打包成一个可重复使用的box
$ vagrant ssh #进入虚拟环境

打包
$ vagrant package 当前要被打包的系统名 --output 打包到的地址/包名

对于二次构建虚拟机失败

1、首先清除vbox虚拟机列表

2、在vagrantbox存储文件下删除boxes 和 data文件下的数据

构建的文件夹下只保留centos7镜像和Vagrantfile文件,然后重新vagrant up构建虚拟机。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇