一、vagrant和virtaulbox简介
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,我们可以使用它来干如下这些事:
建立和删除虚拟机
配置虚拟机运行参数
管理虚拟机运行状态
自动配置和安装开发环境
打包和分发虚拟机运行环境
Vagrant的运行依赖具体的虚拟化技术,最常见的有VirtualBox以及VMWare。因为它有跨平台、可移动、自动化部署无需人工参与等优点。
在Vagrant体系中,有个box(箱子)的概念,这优点类似于docker体系中的image(镜像)。
二、安装vagrant+virtaulbox
virtualbox和vagrant版本要搭配,建议都下载最新版。
1、下载并安装virtualbox
下载地址:https://www.virtualbox.org/wiki/Downloads
安装过程很简单,傻瓜式的一步一步点下去。
2、下载并安装vagrant
下载地址:https://www.vagrantup.com/downloads.html
安装过程依旧没什么难的,跟着提示一步一步next。
注意:windows系统中,可能需要配置环境变量和开启VT-x/AMD-V硬件加速。
三、注册centos7.6镜像
下载地址:CentOS7的box: http://cloud.centos.org/centos/7/vagrant/x86_64/images/
vagrant box add CentOS7.6 e:\dev\linux\vagrant\CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box
四、编辑配置文件
1、创建工作目录
mkdir d:\vagrant
cd D:\vagrant
2、创建配置vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.require_version ">= 1.6.0"
boxes = [
{
:name => "k8s101",
:eth1 => "192.168.48.101",
:mem => "4096",
:cpu => "2"
},
{
:name => "k8s102",
:eth1 => "192.168.48.102",
:mem => "4096",
:cpu => "2"
},
{
:name => "k8s103",
:eth1 => "192.168.48.103",
:mem => "4096",
:cpu => "2"
},
{
:name => "ran200",
:eth1 => "192.168.48.200",
:mem => "4096",
:cpu => "2"
},
{
:name => "reg201",
:eth1 => "192.168.48.201",
:mem => "4096",
:cpu => "2"
}
]
Vagrant.configure(2) do |config|
config.vm.box = "CentOS7.6"
boxes.each do |opts|
config.vm.define opts[:name] do |config|
config.vm.hostname = opts[:name]
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--memory", opts[:mem]]
v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
end
config.vm.network :private_network, ip: opts[:eth1]
end
end
end
3、执行创建:vagrant up
4、允许密码登录
登录账号/密码:root/vagrant, vagrant/vagrant
(1)修改 /etc/ssh/sshd_config 文件
vi /etc/ssh/sshd_
注意,vagrant用户下这个文件是只读的,可能什么也看不见
修改 ssd_config 里 PermitRootLogin属性 改为yes ,并把前面的# 去掉
PasswordAuthentication 改为yes 并且去掉 #
保存退出
(2) 重启sshd服务
systemctl restart sshd
再通过xshell连接的时候,就可以用账号密码,root/vagrant来登录了