Podman 5 攜帶多平台鏡像和虛擬機器支援而來

岱军 云云众生s

Podman 所做的所有更改最終匯聚成一個更靈活、更具響應能力的容器運行時引擎。

譯自Podman 5 Arrives with Multiplatform Images, VM Support,作者 Jack Wallen。

如果你一直在使用 Podman 進行容器部署或開發,那麼你將大飽口福。

Red Hat最近發布了Podman 容器管理系統的 5.0 版本,該版本完全重新設計了 Podman 虛擬機器管理工具(podman-machine)的程式碼。

官方發佈公告中提到:“Podman machine 包含一組子命令,用於管理 Podman 虛擬機,這是用戶在 MacOS 或 Windows 上運行 Podman 所必需的。”

在Podman 5.0中,新增了許多功能和改進,包括:

新的podman machine reset選項,它簡化了重置 Podman 虛擬機器的過程

Podman 虛擬機器的全新訂閱管理器和qemu-user-static功能

Podman 虛擬機器的更快的啟動時間

用於在遠端機器上快速建立多平台鏡像的podman farm build

增加了對開放容器計劃工件的支援的 podman manifest

對無根網路工具的更改,以獲得效能更高的網路堆疊

對 Podman 所做的所有更改最終都匯集到一個更靈活、更響應的容器運行時引擎中。

問題
目前使用 Podman 5 的能力相當有限。 據我所知,截至本週,獲取/測試 Podman 5 的唯一方法是透過Fedora Linux,因為其他發行版的儲存庫中唯一可用的版本是 4.x。 對於 Fedora,安裝 Podman 5 的唯一方法是透過開發版本。

如何在 Fedora 上安裝 Podman 5
首先,我不建議在生產機器上安裝 Podman 的開發版本。 僅在測試環境中使用它。 我也不會建議在虛擬機器上執行此操作,因為 Podman 將難以存取 KVM 系統。

另一個問題是,你無法使用 Fedora 40 beta 1 之前的任何 Fedora 版本。 如果你使用的是 39 或更早版本的 Fedora,則此方法將無法運作。 因此,你需要做的第一件事是下載 Fedora 40 beta 的 ISO。 完成後,建立可開機隨身碟,啟動進入 Fedora 40 beta 1,然後安裝作業系統。

安裝 Fedora 40 beta 1 後,你可以使用以下指令安裝 Podman 5.0 的開發版本:

sudo dnf update –refresh –enablerepo=updates-testing podman
完成後,你可以使用以下命令驗證安裝:

podman –version
你應該在輸出中看到類似以下內容:

podman version 5.0.1
Podman 5.0 最好的功能之一是能夠快速重置機器環境。 此命令將停止所有正在運行的機器並刪除它們。 此外,還將刪除設定資料檔案(例如機器磁碟映像和先前提取的快取映像)。 該命令只有一個選項,即 –force(或僅 -f),它在未經確認的情況下重置所有內容。

假設你創建了幾個機器,如下所示:

podman machine init dev1

podman machine init dev2

podman machine init web1

podman machine init web2

然後,你使用以下命令啟動它們:

podman machine start dev1
podman machine start dev2
podman machine start web1
podman machine start web2
接下來,你使用以下命令存取每台機器:

podman machine ssh NAME
其中 NAME 可以是dev1、dev2、web1或web2。

訪問機器後,你進行了開發工作,運行了一些測試,或者對機器執行了任何你需要執行的操作。 使用完這些機器後,如果你想使用 Podman 4.x 擺脫它們,則必須分別停止它們,然後使用以下命令刪除它們:

podman machine stop NAME
podman machine rm NAME
其中 NAME 可以是 dev1、dev2、web1 或 web2。

使用 Podman 5.0,可以使用以下命令完成所有這些操作:

podman machine reset
你的所有機器都將被停止並刪除(以及關聯的檔案和資料)。

新版本還包括podman farm build命令,該命令在 farm 節點上建立鏡像,然後將它們捆綁到清單列表中。 我還沒有測試過此功能,但根據手冊頁(使用man podman-farm閱讀):

Podman 透過讀寫位於$XDG_CONFIG_HOME/containers下的podman-connections.json檔案來管理 farm,如果未設定 env,則預設為$HOME/.config/containers。 或者可以將PODMAN_CONNECTIONS_CONF環境變數設定為 podman 將使用的一個完整檔案路徑。 此文件由 podman 指令管理,使用者切勿直接編輯。 若要手動配置 farm,請使用containers.conf中的[farm]部分。

對於那些不使用 Fedora 40 的人,我還沒有發現任何跡象表明它何時可用於不同的發行版。 如果我猜的話,Podman 5.0 將在今年隨 9.4 版本進入 Red Hat Enterprise Linux。 如果發生這種情況,它很可能很快就會進入Rocky Linux、AlmaLinux和Oracle Linux。

同樣重要的是,在更新到 Podman 5.0 之前,使用者要了解 Podman 4 機器與 Podman 5.0 不相容。 因此,在升級到 5.0 之前,您應該刪除所有 Podman 4 機器。 在刪除這些機器並升級到 Podman 5.0 之後,也建議在部署任何新機器之前執行podman machine reset命令。