內容目錄
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
命令。
若想進一步了解Podman 5.0,請查看Podman 網站上的新功能摘要文章。