Ansible 的好朋友 - vagrant

簡介

在介紹 Ansible 之前,必須要介紹 vagrant 這個工具。

vagrant 是一個可以用來快速建立虛擬機器的工具,有了虛擬機,我們就可以快速地做出一個用來試驗 Ansible 的環境。

它跨平台,支援以下平台:

  • Mac OS
  • Windows
  • Linux
    • Debian
    • CentOS

至於虛擬機器的部份,它可以用這些虛擬機器環境甚至是雲端環境來建立虛擬機器:

  • VirtualBox
  • VMWare
  • AWS

下面先只介紹怎麼跟 VirtualBox 搭配。

安裝

基本步驟,先安裝 VirtualBox,再安裝 vagrant。

Ubuntu

安裝 VirtualBox

echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -c -s) contrib" | sudo tee /etc/sources.list.d/virtualbox.list
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install virtualbox-6.1

接著是安裝 vagrant,先到 Vagrant 下載頁面 ,點選 Debian,然後點選 Download,再用 dpkg 安裝即可。

MacOS

在 MacOS 下可以用 homebrew 來安裝。

安裝 homebrew 很簡單,一行就搞定了

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

接著安裝 VirtualBox

brew install virtualbox

再安裝 vagrant

brew install vagrant

使用

使用上很簡單,只有兩行,先 init,再 up 。 執行 vagrant init xxx 以後,會出現 Vagrantfile ,如果需要調整記憶體、IP 位址等,可以先行修改這個檔案,再來使用 vagrant up 啟動。

建立 ubuntu 虛擬機器

mkdir -p ubuntu-vm
cd ubuntu-vm
vagrant init ubuntu/focal64
vagrant up

建立 CentOS 虛擬機器

mkdir -p centos-vm
cd centos-vm
vagrant init generic/centos8
vagrant up

以 SSH 登入虛擬機器

vagrant ssh

關閉虛擬機器

vagrant halt

移除虛擬機器

vagrant destroy

參考資料