AWS發(fā)布新的容器命令行客戶端開源工具Finch,F(xiàn)inch可用于構(gòu)建、運行和發(fā)布Linux容器,其提供原生macOS客戶端安裝程序,以及一組標準開源組件,包括Lima、nerdctl、containerd和BuildKit,用戶可以使用Finch在本地端創(chuàng)建和執(zhí)行容器,并發(fā)布OCI容器鏡像文件。
雖然目前要在非Linux主機上構(gòu)建和執(zhí)行Linux容器,已有現(xiàn)有的商業(yè)產(chǎn)品和一系列開源工具可用,但是如要使用開源命令行工具,用戶仍需要花時間組裝測試,因此AWS希望通過創(chuàng)建Finch來簡化這項復(fù)雜工作,讓用戶能更專注在容器操作上而非構(gòu)建工具。
Finch仍是只擁有基本功能的初期項目,目前僅支持macOS,隨后會擴展到Windows和Linux。Finch直接相依于Lima和nerdctl,并且一起打包成macOS安裝程序。Lima是在2022年9月才被CNCF接受的沙盒項目,為一個在macOS上以containerd運行Linux虛擬機,可以看作是非正式的Mac用containerd,而nerdctl則是一個用于containerd且兼容于Docker的命令行工具。
Finch的macOS原生客戶端,能夠在nerdctl和由Lima管理的虛擬機間,扮演橋梁角色,所有可調(diào)的部分都被抽象成簡單易用的Finch客戶端,F(xiàn)inch會管理所有必要的開源組件和相依項目,用戶不需要管理相依項目更新和進行安全修補。
同時,F(xiàn)inch也直接和nerdctl集成,提供用戶熟悉的命令和選項,就像是在Linux原生操作一樣,可以從注冊表拉取鏡像文件,在本地端執(zhí)行容器,并且使用Dockerfile構(gòu)建鏡像文件,同時Finch還夠進行模擬,在amd64或是arm64架構(gòu)中構(gòu)建和執(zhí)行鏡像文件,這代表用戶可以選擇在使用Apple Silicon或是英特爾芯片的Mac上執(zhí)行構(gòu)建。
AWS提到,核心Finch客戶端將會是一個精選的發(fā)布版本,完全開源且供應(yīng)商中立,并供下游用戶自訂,根據(jù)特定使用案例創(chuàng)建擴展和增加功能。AWS會根據(jù)客戶需要加入自家云計算服務(wù)集成,但這將會以擴展的方式加入可選功能,不會影響Finch的開源核心和上游相依項目,擴展功能會擁有自己項目,以及獨立的發(fā)布周期。
用戶只要完成Finch安裝,就可以開始構(gòu)建和執(zhí)行容器,目前Finch沒有圖形用戶接口,僅有一個簡單的命令行客戶端,沒有集成額外的集群管理和容器調(diào)度工具。
整體來說,F(xiàn)inch規(guī)劃了一個通用開源組件堆棧,這些組件經(jīng)過構(gòu)建和測試確定能夠協(xié)同運行,AWS提到,他們的目標是要最小化和簡化容器的構(gòu)建、運行、推送和拉取體驗,使用戶可以專注于核心工作流程。隨著項目的發(fā)展,AWS還將讓虛擬組件的狀態(tài)更加透明,并且占用較小的容量,啟動時間更快,也更具可擴展性,用戶可以自由地依需求自定義Finch。