使用 qemu-kvm 安裝和運行 Vagrant
Vagrant 是一個出色的工具,DevOps 專業人員、程序員、系統管理員和普通極客來使用它來建立可重複的基礎架構來進行開發和測試。引用自它的網站:
Vagrant 是用於在單工作流程中構建和管理虛擬機環境的工具。憑藉簡單易用的工作流程並專註於自動化,Vagrant 降低了開發環境的設置時間,提高了生產效率,並使「在我的機器上可以工作」的借口成為過去。
如果你已經熟悉 Vagrant 的基礎知識,那麼該文檔為所有的功能和內部結構提供了更好的參考。
Vagrant 提供了基於行業標準技術構建的、易於配置、可複製、可移植的工作環境,並由一個一致的工作流程式控制制,幫助你和你的團隊最大限度地提高生產力和靈活性。
本指南將逐步介紹使 Vagrant 在基於 Fedora 的計算機上工作所需的步驟。
我從最小化安裝 Fedora 伺服器開始,因為這樣可以減少宿主機操作系統的內存佔用,但如果你已經有一台可以使用的 Fedora 機器,無論是伺服器還是工作站版本,那麼也沒問題。
檢查機器是否支持虛擬化
$ sudo lscpu | grep Virtualization
Virtualization: VT-x
Virtualization type: full
安裝 qemu-kvm
sudo dnf install qemu-kvm libvirt libguestfs-tools virt-install rsync
啟用並啟動 libvirt 守護進程
sudo systemctl enable --now libvirtd
安裝 Vagrant
sudo dnf install vagrant
安裝 Vagrant libvirtd 插件
sudo vagrant plugin install vagrant-libvirt
添加一個 box
vagrant box add fedora/32-cloud-base --provider=libvirt
(LCTT 譯註:以防你不知道,box 是 Vagrant 中的一種包格式,Vagrant 支持的任何平台上的任何人都可以使用盒子來建立相同的工作環境。)
創建一個最小化的 Vagrantfile 來測試
$ mkdir vagrant-test
$ cd vagrant-test
$ vi Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "fedora/32-cloud-base"
end
注意文件名和文件內容的大小寫。
檢查文件
vagrant status
Current machine states:
default not created (libvirt)
The Libvirt domain is not created. Run 'vagrant up' to create it.
啟動 box
vagrant up
連接到你的新機器
vagrant ssh
完成了。現在你的 Fedora 機器上 Vagrant 可以工作了。
要停止該機器,請使用 vagrant halt
。這只是簡單地停止機器,但保留虛擬機和磁碟。 要關閉並刪除它,請使用 vagrant destroy
。這將刪除整個機器和你在其中所做的任何更改。
接下來的步驟
在運行 vagrant up
命令之前,你不需要下載 box。你可以直接在 Vagrantfile 中指定 box 和提供者,如果還沒有的話,Vagrant 會下載它。下面是一個例子,它還設置了內存量和 CPU 數量:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "fedora/32-cloud-base"
config.vm.provider :libvirt do |libvirt|
libvirt.cpus = 1
libvirt.memory = 1024
end
end
關於使用 Vagrant、創建你自己的機器和使用不同 box 的更多信息,請參見官方文檔 https://www.vagrantup.com/docs。
有一個龐大的倉庫,你可以隨時下載使用這些 box,它們的的官方倉庫是 Vagrant Cloud - https://app.vagrantup.com/boxes/search。這裡有些是基本的操作系統,有些提供完整的功能,如資料庫、網路伺服器等。
via: https://fedoramagazine.org/vagrant-qemukvm-fedora-devops-sysadmin/
作者:Andy Mott 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive