vagrant 可以直接对接 libvirt

123 阅读1分钟

1. 安装 基础依赖

1.1 apt 安装

sudo apt-get purge vagrant-libvirt
sudo apt-mark hold vagrant-libvirt
sudo apt-get update && \
    sudo apt-get install -y qemu libvirt-daemon-system ebtables libguestfs-tools \
        vagrant ruby-fog-libvirt

1.2 yum | dnf 安装

sudo dnf remove vagrant-libvirt
sudo sed -i \
    '/^(exclude=.*)/ {/vagrant-libvirt/! s//\1 vagrant-libvirt/;:a;n;ba;q}; $aexclude=vagrant-libvirt' \
    /etc/dnf/dnf.conf
vagrant_libvirt_deps=($(sudo dnf repoquery --disableexcludes main --depends vagrant-libvirt 2>/dev/null | cut -d' ' -f1))
dependencies=$(sudo dnf repoquery --qf "%{name}" ${vagrant_libvirt_deps[@]/#/--whatprovides })
sudo dnf install --assumeyes @virtualization ${dependencies}

2. 安装 vagrant-libvirt

vagrant plugin install vagrant-libvirt

该步骤很慢,要等 20 分钟以上

3. 创建一个 vagrant 项目

vagrant init fedora/36-cloud-base

或者 创建 一个 Vagrantfile 文件

Vagrant.configure("2") do |config|
  config.vm.define :test_vm do |test_vm|
    test_vm.vm.box = "fedora/36-cloud-base"
  end
end

然后启动即可

vagrant up --provider=libvirt

--provider=libvirt 该参数也可以直接添加到 ~/.bashrc 环境变量中

export VAGRANT_DEFAULT_PROVIDER=libvirt

4. 虚拟机镜像仓库

image.png

app.vagrantup.com/boxes/searc…

参考: vagrant-libvirt.github.io/vagrant-lib…