Vagrant工具的使用_part1.VM自動化管控工具介紹


Vagrant 是一個開源工具,用於藉助如 VirtualBox 這樣的提供者來管理虛擬機器。
使用命令行,可以通過安裝、更新、啟動或關閉來管理任何可用的作業系統。
Vagrant基本組成

其實需要Providers (常見的就是virtualbox,VMWare,HyperV)跟BaseBox(鏡像檔)
Vagrant其實是用來輔助我們做特定provider的VM快速管控用途的。
比方藉由vagrant 腳本自動化批次建立大量VM的功能(3台ubuntu的VM)


Vagrant官網
https://www.vagrantup.com/

Vagrant 是一種建立和管理虛擬機環境的工具,特別是在軟體開發中廣泛使用。
它提供了一種簡單、易於配置的方法來管理和部署虛擬化的開發環境。
以下是關於Vagrant的一些基本介紹,以及它是如何被用於軟件開發的。


Vagrant 的核心功能:
  • 跨平台支持:Vagrant 可以在 Windows、macOS 和 Linux 上運行,讓開發團隊無論使用何種作業系統都能夠輕鬆合作。
  • 易於配置:透過 Vagrantfile(一種Ruby語言格式的配置文件),使用者可以定義和配置虛擬機的具體參數,如作業系統、網絡設置、依賴軟件等。
  • 一致的開發環境:Vagrant 保證了在不同機器上的開發環境一致性,解決了 "在我機器上能運行" 的問題。
  • 易於部署:透過與雲服務(如AWS、Google Cloud)或虛擬化技術(如VirtualBox、VMware)的集成,Vagrant 允許一鍵部署虛擬機。
  • 自動化腳本支持:Vagrant 支持使用 shell 腳本、Chef、Puppet 或 Ansible 等自動化管理工具,來自動安裝和配置軟件。

Vagrant運作方式
流程圖顯示了 Vagrant 如何作為開發者與虛擬機之間的一個橋樑,從建立、配置到操作都讓流程自動化和簡化。



Step1.開發者將創建一個 Vagrantfile 或從某個儲存庫獲取一個,或使用 Vagrant init 指令來創建 Vagrantfile。使用 vagrant up 命令來啟動過程。這是從終端機或命令提示字元執行的,而這條命令會參照一個叫做 Vagrantfile 的配置檔案。Vagrant up 指令會搜索 Vagrantfile。

Step2.Vagrant 讀取 Vagrantfile 來決定如何建立和配置虛擬機。這個檔案包含了關於虛擬機硬體需求、操作系統、網絡設定等的所有指示。

Step3.VirtualBox(或其他支援的虛擬機提供者)被用來實際創建虛擬機。Vagrant 本身不提供虛擬化功能,而是透過像是 VirtualBox 這樣的工具來達成這點。

Step4.Vagrant 支持的配置工具有 Chef/Puppet/Bash。配置者(Provisioners) 被用來自動安裝和設定軟體到虛擬機上。這張圖中的標誌代表不同的配置工具,例如 Ansible、Chef、Puppet、Docker,以及 Shell 腳本。

Step5.配置步驟完成後,虛擬機會有了必要的軟體和設定,可以用來開發和測試應用程式。

Step6.開發者可以通過 SSH 來遠端登入虛擬機,以進行操作或進一步的開發工作。Vagrant 提供了方便的命令 vagrant ssh 來進行連接。


provisioning 階段非必要










Vagrant安裝方式
這邊是在windows環境 用intel的CPU所以選定此版本下載安裝


下載好的.msi 直接執行 下一步連按(系統環境變數都會自動設好)

測試是否有安裝好
開啟cmd小黑,嘗試輸入完vagrant後回車
如看到以下內容就代表有成功安裝好了

那由於vmware workstation是要付費的
這邊採用virtualbox 是先要安裝好


接續就是要來Vagrant cloud上找尋合適的base box了

Vagrant Cloud
Discover Vagrant Boxes
https://app.vagrantup.com/boxes/search

能夠去篩選virtualbox,vmware等不同provider



像以下centos7支援的provider就十分多種類的鏡像
順帶一提關於這邊的鏡像box也是能夠由IT人員自行去創建上傳的

https://app.vagrantup.com/centos/boxes/7









Ref:
Host a website on a VM using automation
https://blog.wemakedevs.org/host-a-website-on-a-vm-using-automation
How to Create Multiple Virtual Machines Using Vagrant Tool
https://medium.com/@srghimire061/how-to-create-multiple-virtual-machines-using-vagrant-tool-d4b074d5bdcc

使用Vagrant進行伺服器環境部署
Vagrant Documentation
https://developer.hashicorp.com/vagrant/docs
Laboratorio multi maquina con Vagrant
https://tecnolitas.com/blog/laboratorio-multi-maquina-con-vagrant/

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

Architecture(架構) 和 Framework(框架) 有何不同?_軟體設計前的事前規劃的藍圖概念

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題