1、Vagrant安装
使用Vagrant管理虚拟机
a.使用chocolately安装vagrant
在Windows电脑:官方 安装chocolately包管理工具,powershell命令
### powershell:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install vagrant
https://community.chocolatey.org/packages 查找包
或者去 官网 vagrant downloads 下载,默认最新版本。
依赖 官网virtual-box Downloads
++依赖 官网Microsoft Visual C++ 2019 Downloads
b.操作流程
安装参考:
deb:《[白菜喵] vagrant打造跨平台可移动的开发环境》csdn
mac:《[fenbox] 使用 Vagrant 打造跨平台开发环境》segmentfault
win:《[白菜哇] 掌握vagrant安装和使用》bilibili
创建容器box
### powershell:
PWD
D:\VagrantOS\centos7
vagrant init centos/7
vagrant up
#复制 virtualbox.box 镜像链接到迅雷下载
vagrant box add --name centos/7 centos7.box
#这里为了方便上面不修改名称,注意和使用名称一致
# vagrant box remove centos/7
vagrant list --help > ../vg.list.help
box地址 https://app.vagrantup.com/boxes/search
配置Vagrantfile
文件
Vagrant 网络模型
端口转发(local 本机)
config.vm.network :forwarded_port, guest: 80, host: 8080
私有网络(net 主机内网)
config.vm.network :private_network, ip: "192.168.1.104"
公有网络(桥接)
config.vm.network :public_network
官方配置文档
### centos7/Vagrantfile:
config.vm.box_version: 1.0
# 1.网络
config.vm.network "public_network", ip: "192.168.1.121" #use_dhcp_assigned_default_route: true
# 2.ssh连接密码
config.ssh.password = "123456"
# 3.使用主机文件映射
# config.vm.synced_folder "./local_share", "/vagrant_data",
# owner: "vagrant", :mount_options => ["uid=1234", "gid=1234"]
# 4.配置内存、是否使用UI界面
config.vm.provider "virtualbox" do |vb|
vb.memory = "512"
vb.cpus = 2
end
# 5.容器开机执行命令
config.vm.provision "shell", inline: <<-SHELL
yum update
yum install -y curl tree net-tools
SHELL
刷新配置,连接
### centos7/ 根目录完成重启
vagrant reload
vagrant ssh
打包
将一个vagrant环境打包到一个盒子里:
### centos7/ 根目录
vagrant package #--output NAME
# 删除当前vagrant环境
vagrant destroy
得到一个 package.box 文件,移动后,可以进行 add --name、up 操作。
小结:
# 1. 添加镜像
vagrant box add [box名称名称] [路径/名称.box]
### centos7/ 根目录
# 2. 初始化虚拟机配置
vagrant init
# 3. 启动虚拟机
vagrant up/halt/destroy
2、集群操作
a.配置多主机
官方文档:定义多个机器
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: <<-SHELL
echo "机器集群"
SHELL
config.vm.define "k8s-01" do |master|
master.vm.hostname="master"
master.vm.box = "centos7"
master.vm.network :public_network, ip: "192.168.1.120"
master.vm.provider "virtualbox" do | m |
m.memory=512
m.cpus=2
end
end
config.vm.define "node1" do |node1|
node1.vm.hostname="node1"
node1.vm.box = "centos7"
node1.vm.network :public_network, ip: "192.168.1.121"
node1.vm.provider "virtualbox" do | m |
m.memory=512
m.cpus=2
end
end
config.vm.define "node2" do |node2|
node2.vm.hostname="node2"
node2.vm.box = "centos7"
node2.vm.network :public_network, ip: "192.168.1.122"
node2.vm.provider "virtualbox" do | m |
m.memory=512
m.cpus=2
end
end
config.vm.define "node3" do |node3|
node3.vm.hostname="node3"
node3.vm.box = "centos7"
node3.vm.network :public_network, ip: "192.168.1.123"
node3.vm.provider "virtualbox" do | m |
m.memory=512
m.cpus=2
end
end
end
b.k8s配置参考
文章:利用Vagrant创建k8s集群
https://xuthus.cc/linux/vagrant-create-k8s.html
官方视频:Kubernetes (K8s)0基础全套教程
https://www.bilibili.com/video/av95508342/
Kubernetes官方: http://docs.kubernetes.org.cn...
3、安装vagrant-manager状态管理工具
下载并安装工具栏管理服务
VagrantManager-1.0.2.2-Setup.exe
总结
安装时注意适配器驱动的选择:
‘控制面板网络和 Internet网络连接’ 找不到 适配器,卸载、重新安装VirtualBox、选择加载host-only驱动
。
重要:如果vagrant创建私有网络失败,卸载、重装virtual-box、选择加载net驱动
。
多次使用后,发现批量创建主机十分方便。