補覺鳴詩

學海無涯


  • 首頁

  • archive

  • 關於我

  • 搜尋

vagrant VM 部屬工具

時間: 2022-02-24   |   分類: devops   vagrant   | 字數: 571 字 | 閱讀: 2分鐘 | 閱讀次數:

利用 vagrant 建立大量 LAB 環境

quick start

vagrant 將 VM 建立的工作寫成腳本執行 在建立 LAB 環境時尤其方便 參考 Quick Start 開始操作 https://learn.hashicorp.com/tutorials/vagrant/getting-started-index?in=vagrant/getting-started

  1. 下載 vagrant
  2. 下載 virtualbox

建立 Vagrantfile Vagrantfile 宣告部屬 VM 的資訊

vagrant init hashicorp/bionic64

建立 VM

vagrant up

摧毀 VM

vagrant destroy

說明 VM 存放位置會依 virtualbox 設定路徑儲存 預設採用 https://vagrantcloud.com/boxes/search 的倉庫 box 為來源 box 即為已經打包好的 VM

自行建立 box

box 就是我們 VM 的範本 首先在 virtualbox 先安裝好 VM 並完成些基本設定 (安裝 Guest Additions 之類的)

使用指令包裝成 box 檔

#vagrant package --base <vm name> --output <box file>
vagrant package --base rockylinux --output rockylinux.box

等待完成後 box 就建好了 之後我們要 LAB 的 VM 就可以直接使用此 box 快速產生

1356_51.png

接著我們編寫 Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

# box 來源
  config.vm.box = "rockylinux.box"
# box 驗證方式
  config.ssh.username = "root"
  config.ssh.password = "P@ssw0rd"  

# 設定 VM 資源及使用 link clone 節省 host 空間  
  config.vm.provider "virtualbox" do |v|
    v.linked_clone = true
    v.memory = 2048
    v.cpus = 2
  end

# 建立單一VM
  config.vm.hostname = "node1.local"
# 設定 public 網卡,讓 host 能夠連線
  config.vm.network "public_network", ip: "192.168.15.141"

end

接著建立看看是否有問題

vagrant up

大量建立 VM

參考官方文件、網友分享後

編寫一個 Vagrantfile 提供佈建

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

# box 來源
  config.vm.box = "rockylinux.box"
# box 驗證方式
  config.ssh.username = "root"
  config.ssh.password = "P@ssw0rd"  

# 設定 VM 資源及使用 link clone 節省 host 空間  
  config.vm.provider "virtualbox" do |v|
    v.linked_clone = true
    v.memory = 2048
    v.cpus = 2
  end

# 使用迴圈建立大量 VM
	(1..3).each do |i|
		# Defining VM properties
		config.vm.define "rockylinux_vm#{i}" do |node|
			node.vm.hostname = "node#{i}.local"
            # 使用 public network 讓 host 能夠直接連線
			node.vm.network "public_network", ip: "192.168.15.14#{i}"
		end
	end

end

下面測試布建 9 台 VM 可見確實使用 link-clone 占用極少資源 在大量 LAB 的環境搭建非常實用

1601_12.png

box 管理

box 會 cache 在電腦中 要更新box 需手動處理 否則會持續使用舊 box

PS C:\Users\NT03263> vagrant.exe box list
ubuntu-desktop.box (virtualbox, 0)
ubuntu.box         (virtualbox, 0)

PS C:\Users\NT03263> vagrant.exe box remove ubuntu-desktop.box
Removing box 'ubuntu-desktop.box' (v0) with provider 'virtualbox'...

Vmware workstation (待補)

先下載 git 包 https://github.com/hashicorp/vagrant-vmware-desktop

安裝 rube WITH DEVKIT https://rubyinstaller.org/downloads/

安裝 go https://go.dev/doc/install

執行指令





vagrant plugin install vagrant-vmware-desktop

https://www.vagrantup.com/vmware/downloads

#devops# #vagrant#
comments powered by Disqus >
  • 文章目錄
  • 網站導覽
Owan

Owan

愛貓如癡

131 日誌
29 分類
37 標籤
GitHub
  • quick start
  • 自行建立 box
  • 大量建立 VM
  • box 管理
  • Vmware workstation (待補)
© 2010 - 2022 補覺鳴詩
Powered by - Hugo v0.96.0 / Theme by - NexT
0%