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