雲端自動化虛擬機器

roc_guo發表於2022-05-13

雲端自動化虛擬機器雲端自動化虛擬機器

透過使用 Testcloud 自動化設定過程並交付一個準備執行的虛擬機器,在幾分鐘之內準備好一個雲映象。如果你是一個在雲端使用 Fedora qcow2 映象 的開發者或者愛好者,在一個映象準備使用之前,你總是不得不做一大堆初始化設定。我對此深有體會,所以我很想找到一種使設定過程更加簡單的方法。碰巧,整個 Fedora 質量保證團隊也有同感,所以我們開發了 Testcloud 。

Testcloud 是一個可以輕鬆的在幾分鐘之內準備雲映象測試的工具。使用幾個 就可以在雲端自動化設定並交付準備執行的虛擬機器(VM)。Testcloud的使用步驟如下:

  1. 下載 qcow2 映象
  1. 用你選擇的名稱建立例項
  1. 建立一個密碼為 passw0rd,使用者名稱為 fedora 的使用者
  1. 分配一個 IP 地址,以便於你之後用 SSH 登入到雲端
  1. 啟動、停止、刪除和列出一個例項
安裝 Testcloud

要開始你的旅程,首先你必須安裝 Testcloud 軟體包。你可以透過終端或者“軟體”應用來安裝它。在這兩種情況下,軟體包的名字都是 testcloud 。用以下命令安裝:

$ sudo dnf install testcloud -y

一旦安裝完成,將你所需要的使用者新增到 testcloud 使用者組,這有助於 Testcloud 自動完成設定過程的剩餘部分。執行這兩個命令,新增你的使用者到 testcloud 使用者組,並透過提升組許可權重啟會話:

$ sudo usermod -a -G testcloud $USER
$ su - $USER

雲端自動化虛擬機器雲端自動化虛擬機器

玩轉雲映象

一旦你的使用者獲得了所需的組許可權,建立一個例項:

$ testcloud instance create-u

或者,你可以使用 fedora:latest/fedora:XX(XX 是你的 Fedora 發行版本)來代替 完整的 URL 地址:

$ testcloud instance create -u fedora:latest

這將返回你的虛擬機器的 IP 地址:

$ testcloud instance create testcloud272593 -u https://download.fedoraproject.org/pub/fedora/linux/releases/33/Cloud/x86_64/images/Fedora-Cloud-Base-33-1.2.x86_64.qcow2  
    [...]
    INFO:Successfully booted instance testcloud272593
    The IP of vm testcloud272593:  192.168.122.202
    ------------------------------------------------------------
    To connect to the VM, use the following command (password is 'passw0rd'):
    ssh fedora@192.168.122.202

你可以用預設使用者 fedora 登入,密碼是 passw0rd(注意是零)。你可以使用 ssh、virt-manager 或者支援連線到 libvirt 虛擬機器方式來連線到它。

另一種建立 Fedora 雲的方式是:

$ testcloud instance create testcloud193 -u fedora:33
     
    WARNING:Not proceeding with backingstore cleanup because there are some testcloud instances running.
    You can fix this by following command(s):
    testcloud instance stop testcloud272593
    DEBUG:Local downloads will be stored in /var/lib/testcloud/backingstores.
    DEBUG:successfully changed SELinux context for image /var/lib/testcloud/backingstores/Fedora-Cloud-Base-33-1.2.x86_64.qcow2
    DEBUG:Creating instance directories
    DEBUG:creating seed image /var/lib/testcloud/instances/testcloud193/testcloud193-seed.img
    INFO:Seed image generated successfully
    INFO:Successfully booted instance testcloud193
    The IP of vm testcloud193:  192.168.122.225
    ------------------------------------------------------------
    To connect to the VM, use the following command (password is 'passw0rd'):
    ssh fedora@192.168.122.225
    ------------------------------------------------------------
玩轉例項

Testcloud 可以用來管理例項。這包括像列出映象或者停止和啟動一個例項等活動。

要列出例項,使用 list 子命令:

$ testcloud instance list                
    Name                            IP                      State    
    ------------------------------------------------------------
    testcloud272593                 192.168.122.202         running    
    testcloud193                    192.168.122.225         running    
    testcloud252793                 192.168.122.146         shutoff    
    testcloud93                     192.168.122.152         shutoff

要停止一個執行的例項:

$ testcloud instance stop testcloud193  
    DEBUG:stop instance: testcloud193
    DEBUG:stopping instance testcloud193.

要刪除一個例項:

$ testcloud instance destroy testcloud193  
    DEBUG:remove instance: testcloud193
    DEBUG:removing instance testcloud193 from libvirt.
    DEBUG:Unregistering instance from libvirt.
    DEBUG:removing instance /var/lib/testcloud/instances/testcloud193 from disk

要重啟一個執行中的例項:

$ testcloud instance reboot testcloud93                                                                                        
    DEBUG:stop instance: testcloud93
    [...]
    INFO:Successfully booted instance testcloud93
    The IP of vm testcloud93:  192.168.122.152
    usage: testcloud [-h] {instance,image} ...


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2893869/,如需轉載,請註明出處,否則將追究法律責任。

相關文章