在裸機上建立 Linux 雲實例
虛擬化是使用最多的技術之一。Fedora Linux 使用 Cloud Base 鏡像 來創建通用虛擬機(VM),但設置 Cloud Base 鏡像的方法有很多。最近,用於調配虛擬機的 virt-install
命令行工具增加了對 cloud-init
的支持,因此現在可以使用它在本地配置和運行雲鏡像。
本文介紹了如何在裸機上設置一個基本的 Fedora 雲實例。同樣的步驟可以用於任何 raw 或Qcow2 Cloud Base 鏡像。
什麼是 --cloud-init?
virt-install
命令使用 libvirt
創建一個 KVM、Xen 或 LXC 客戶機。--cloud-init
選項使用一個本地文件(稱為 「nocloud 數據源」),所以你不需要網路連接來創建鏡像。在第一次啟動時,nocloud
方法會從 iso9660 文件系統(.iso
文件)中獲取訪客機的用戶數據和元數據。當你使用這個選項時,virt-install
會為 root 用戶賬戶生成一個隨機的(臨時)密碼,提供一個串列控制台,以便你可以登錄並更改密碼,然後在隨後的啟動中禁用 --cloud-init
選項。
設置 Fedora Cloud Base 鏡像
首先,下載一個 Fedora Cloud Base(for OpenStack)鏡像。
![Fedora Cloud 網站截圖](/data/attachment/album/202102/28/130121cauyuhhncm2lclfx.png "Fedora Cloud website")
然後安裝 virt-install
命令:
$ sudo dnf install virt-install
一旦 virt-install
安裝完畢並下載了 Fedora Cloud Base 鏡像,請創建一個名為cloudinit-user-data.yaml
的小型 YAML 文件,其中包含 virt-install
將使用的一些配置行:
#cloud-config
password: 'r00t'
chpasswd: { expire: false }
這個簡單的雲配置可以設置默認的 fedora
用戶的密碼。如果你想使用會過期的密碼,可以將其設置為登錄後過期。
創建並啟動虛擬機:
$ virt-install --name local-cloud18012709
--memory 2000 --noreboot
--os-variant detect=on,name=fedora-unknown
--cloud-init user-data="/home/r3zr/cloudinit-user-data.yaml"
--disk=size=10,backing_store="/home/r3zr/Downloads/Fedora-Cloud-Base-33-1.2.x86_64.qcow2"
在這個例子中,local-cloud18012709
是虛擬機的名稱,內存設置為 2000MiB,磁碟大小(虛擬硬碟)設置為 10GB,--cloud-init
和 backing_store
分別帶有你創建的 YAML 配置文件和你下載的 Qcow2 鏡像的絕對路徑。
登錄
在創建鏡像後,你可以用用戶名 fedora
和 YAML 文件中設置的密碼登錄(在我的例子中,密碼是 r00t
,但你可能用了別的密碼)。一旦你第一次登錄,請更改你的密碼。
要關閉虛擬機的電源,執行 sudo poweroff
命令,或者按鍵盤上的 Ctrl+]
。
啟動、停止和銷毀虛擬機
virsh
命令用於啟動、停止和銷毀虛擬機。
要啟動任何停止的虛擬機:
$ virsh start <vm-name>
要停止任何運行的虛擬機:
$ virsh shutdown <vm-name>
要列出所有處於運行狀態的虛擬機:
$ virsh list
要銷毀虛擬機:
$ virsh destroy <vm-name>
![銷毀虛擬機](/data/attachment/album/202102/28/130121fd0yz9dsnqsvqvms.png "Destroying a VM")
快速而簡單
virt-install
命令與 --cloud-init
選項相結合,可以快速輕鬆地創建雲就緒鏡像,而無需擔心是否有雲來運行它們。無論你是在為重大部署做準備,還是在學習容器,都可以試試virt-install --cloud-init
。
在雲計算工作中,你有喜歡的工具嗎?請在評論中告訴我們。
via: https://opensource.com/article/21/1/cloud-image-virt-install
作者:Sumantro Mukherjee 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive