1

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驱动

多次使用后,发现批量创建主机十分方便。


沧浪水
97 声望12 粉丝