偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Wasm的野心:取代K8s,不如結(jié)合K8s

譯文 精選
系統(tǒng) 瀏覽器
開源 RunWasi 項(xiàng)目的進(jìn)展可能會(huì)成為 Wasm-on-Kubernetes 部署的催化劑。RunWasi 的創(chuàng)建是為了通過 containerd 在 Wasm 模塊中支持 Wasm 運(yùn)行時(shí)。

作者丨B. Cameron Gain

編譯丨諾亞

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

雖然WebAssembly (Wasm)已被證明在瀏覽器和某些有針對(duì)性的服務(wù)器部署中可以很好地工作,但允許開發(fā)人員“一次部署,隨處部署”的標(biāo)準(zhǔn)化組件模型尚未實(shí)現(xiàn)。

當(dāng)開發(fā)人員可以將代碼加載到 Wasm 模塊中,并將其同時(shí)部署在能夠運(yùn)行 CPU 指令集的各種環(huán)境和設(shè)備類型中時(shí),這一愿景就會(huì)實(shí)現(xiàn)。更具體地說,開源社區(qū)在努力開發(fā) Wasi,致力于在許多方面將Wasm模塊連接到組件的標(biāo)準(zhǔn)接口或API。但是,我們還沒有到那一步。

然后是 Kubernetes。

容器和 Kubernetes 環(huán)境已基本準(zhǔn)備好進(jìn)行 Wasm 模塊部署,而 Wasm 模塊也已基本準(zhǔn)備好在 Kubernetes 上部署。盡管有傳言說 Wasm 有朝一日可能會(huì)取代容器——甚至是 Kubernetes——但一個(gè)非常好的結(jié)合WebAssembly和Kubernetes的契機(jī)正在出現(xiàn)。

1、將 Wasm 與 Kubernetes 結(jié)合使用的優(yōu)勢   

將 Wasm 與 Kubernetes 一起使用具有一些內(nèi)在優(yōu)勢。例如:安全性。由于 Wasm 二進(jìn)制文件的冷啟動(dòng)時(shí)間以毫秒為單位,而某些虛擬機(jī)的冷啟動(dòng)時(shí)間可能以分鐘為單位,因此 Wasm 的安全模型實(shí)際上比容器和 Kubernetes 的安全模型要強(qiáng)一些。這是因?yàn)闊o法立即訪問 Linux 內(nèi)核。

所有代碼都是通過 Wasm 主機(jī)運(yùn)行時(shí)中介的,這意味著你可以攔截所有的系統(tǒng)調(diào)用——至少在理論上是這樣。換句話說,Wasm 可以在容器和 Kubernetes 集群中提供額外的安全層。   

目前還不能做到:點(diǎn)擊一個(gè)簡單的按鈕就在 Kubernetes 上部署 Wasm 模塊。但一些供應(yīng)商,如 Fermyon,已經(jīng)提供了在容器和 Kubernetes 上部署 Wasm 的無服務(wù)器服務(wù)。

這一進(jìn)步很大程度上歸功于對(duì) Wasm 的容器支持,以及 Docker 在 2022 年引入了對(duì) Wasm 的 beta 支持。從那時(shí)起,它就成為 Kubernetes 支持高度分布式部署的主要推動(dòng)者,并允許用戶隨意啟動(dòng)和關(guān)閉由 Wasm 模塊組成的應(yīng)用程序。

Containerd的使用也起著重要作用,container shim是有助于將容器與運(yùn)行時(shí)代碼集成的進(jìn)程。

Fermyon聯(lián)合創(chuàng)始人兼首席執(zhí)行官M(fèi)att Butcher提到:“微軟和許多其他公司將Wasm shim(就像Spin shim)添加到containerd項(xiàng)目中所做的工作是在Docker桌面版和許多Kubernetes發(fā)行版上解鎖Wasm的原因?!?/p>

Butcher說,Docker Desktop和Microsoft Azure AKS都率先展示了如何做到這一點(diǎn)。最近,他指出,Civo 在其 Kubernetes 產(chǎn)品中引入了支持,“這表明大大小小的云提供商正在促進(jìn)向 WebAssembly 的轉(zhuǎn)變”。

2、Wasm 和 OpenShift

其他軟件制造商和服務(wù)提供商也正在登上契合Wasm 的 Kubernetes 列車。其中包括紅帽,它已經(jīng)在調(diào)整 OpenShift 以適應(yīng) Wasm 模塊并支持 Ferymon 的 Spin。紅帽將 Wasm 視為一種有趣的跨平臺(tái)開發(fā)方法,并為相關(guān)的上游社區(qū)做出了貢獻(xiàn)。

紅帽首席軟件工程師 Ivan Font介紹,截至今天,Kubernetes 提供了運(yùn)行基于 Wasm 的工作負(fù)載所需的編排和基礎(chǔ)設(shè)施,這為現(xiàn)有的 Kubernetes 投資提供了額外的靈活性。

截至目前,紅帽的平臺(tái)中還沒有 Wasm 的產(chǎn)品化。但該公司表示,它將繼續(xù)與其他供應(yīng)商和社區(qū)合作,根據(jù)用戶組織的需求開發(fā)其潛力。

紅帽正在開發(fā) Spin 以在 OpenShift 上運(yùn)行,并為 Wasi(Wasm 和組件接口)和 WasmEdge 的開發(fā)做出貢獻(xiàn),WasmEdge 是為云原生(當(dāng)然是 Kubernetes)、邊緣和去中心化應(yīng)用程序創(chuàng)建的可擴(kuò)展 Wasm 運(yùn)行時(shí)。根據(jù) WasmEdge 文檔,WasmEdge 還為無服務(wù)器應(yīng)用程序、嵌入式功能、微服務(wù)、智能合約和物聯(lián)網(wǎng)設(shè)備提供支持。   

就目前而言,紅帽的 OpenShift 默認(rèn)使用 WasmEdge,因?yàn)?Fedora Linux 發(fā)行版已經(jīng)支持了一個(gè)紅帽包管理器(RPM),并且紅帽為 Wasm 提供了額外的支持。

“但是,你可以使用任何一個(gè),因?yàn)閮蓚€(gè) WebAssembly 運(yùn)行時(shí)都在朝著類似的方向發(fā)展,”Font 說?!八鼈兌紝W⒂谶吘墸⒕哂腥斯ぶ悄芄δ艿取!?/p>

要將特定工作負(fù)載作為基于 Wasm 的工作負(fù)載運(yùn)行以在 OpenShift 上執(zhí)行,你目前需要指定一個(gè)注解,指示你要執(zhí)行的操作。此執(zhí)行是在容器內(nèi)完成的,但它具有獨(dú)特的特征。

當(dāng) Wasm 應(yīng)用程序被打包時(shí),它只是鏡像中的一個(gè)模塊。這意味著開放容器計(jì)劃 (OCI) 容器映像不包含任何外部依賴項(xiàng)或完整的操作系統(tǒng)文件系統(tǒng)。因此,圖像大小非常小,因?yàn)樗鼈冎话愕?Wasm 模塊。Font 說,這通常適用于容器,而 OCI 是這方面的標(biāo)準(zhǔn)。

Butcher 說,F(xiàn)ermyon 一直在與 KWasm 的創(chuàng)建者 Liquid Reply 以及紅帽合作,以在 OpenShift 的 Wasm 功能和基于容器的 Kubernetes 發(fā)行版之間實(shí)現(xiàn)一定程度的對(duì)等。他說,這種合作“從企業(yè)級(jí)AKS延伸到微型K3”。

3、更多適用于 Wasm 和 Kubernetes 的工具即將到來 

開發(fā)人員將有更多的工具可用于在 Kubernetes 集群上構(gòu)建和部署應(yīng)用程序,Civo 的現(xiàn)場首席技術(shù)官兼云原生計(jì)算基金會(huì)大使 Saiyam Pathak如是認(rèn)為。

“如果你有一個(gè) Kubernetes 集群,你可以簡單地再添加一個(gè)負(fù)載,使它為WebAssembly做好準(zhǔn)備?!盤athak 說。

Pathak 說,這個(gè)過程很簡單:它包括確保一切都配置正確,包括重新啟動(dòng) containerd、編輯 containerd .normal 文件以及在該特定節(jié)點(diǎn)上使用 Wasm 運(yùn)行時(shí)。然后它就可以運(yùn)行你的 Wasm 工作負(fù)載了。

Pathak說:“這太棒了,因?yàn)槟悻F(xiàn)在可以使用過去10年一直使用的相同工具和部署過程,將最新的WebAssembly技術(shù)用于你的下一組應(yīng)用程序。無論你是構(gòu)建 API 還是擴(kuò)展你的應(yīng)用程序,你都可以在同一個(gè)基礎(chǔ)設(shè)施和 Kubernetes 集群中使用 WebAssembly,以及 Docker?!?   

Kasten 提供 Kubernetes 數(shù)據(jù)管理平臺(tái)和災(zāi)難恢復(fù)支持,它著眼于 Wasm 在其 Kasten K10 平臺(tái)的技術(shù)能力和支持客戶方面的實(shí)用性。Wasm 不是數(shù)據(jù)移動(dòng)支持的綜合解決方案,但它是 Kasten 正在為 Kubernetes 尋找的東西,因?yàn)?Kasten 正在探索如何在 K10 中使用 Wasm。

“作為一個(gè) Kubernetes 原生應(yīng)用,我們正在研究如何利用 WebAssembly 來簡化和使事情更快、更高效、更安全:你從 Wasm 本身獲得的所有好處,”Veeam 全球現(xiàn)場首席技術(shù)官、Kasten 的所有者 Michael Cade還提到:“但 WebAssembly 是一切的答案嗎?也不是。”

相比之下,虛擬機(jī)也不是萬能的,Cade說:“如果我有一張物理硬件卡,在一臺(tái)物理機(jī)器上,在我最重要的應(yīng)用服務(wù)器上,我可能會(huì)虛擬化它,也可能不會(huì)。如果沒有,我永遠(yuǎn)無法將其容器化。”

WebAssembly 蓬勃發(fā)展的地方,尤其是對(duì)于 Kubernetes 來說,是圍繞著三個(gè)“S”(speed, security,support):速度、安全性以及大多數(shù) Web 前端服務(wù)器或 Web 模塊已經(jīng)支持。

4、RunWasi:進(jìn)步的催化劑

開源 RunWasi 項(xiàng)目的進(jìn)展可能會(huì)成為 Wasm-on-Kubernetes 部署的催化劑。RunWasi 的創(chuàng)建是為了通過 containerd 在 Wasm 模塊中支持 Wasm 運(yùn)行時(shí)。

運(yùn)行時(shí)的部署過程是使用 containerd shim完成的,RunWasi 提供必要的代碼。這些shim將 Wasm 模塊從 containerd 編排到部署代碼的低級(jí)運(yùn)行時(shí)。

以下列表顯示了流行的 Wasm containerd shim,由 Microsoft 的 Deis Labs 提供:

  • Lunatic,一個(gè)受 Earlang 啟發(fā)的運(yùn)行時(shí),用于快速、健壯和可擴(kuò)展的服務(wù)器端 Wasm 應(yīng)用程序。
  • Spin,一個(gè)用于構(gòu)建和運(yùn)行無服務(wù)器 Wasm 應(yīng)用程序的開發(fā)者工具。
  • Slight,一個(gè)基于Wasmtime 的運(yùn)行時(shí),用于運(yùn)行使用 SpiderLightning (WASI-Cloud-Core) 功能的 Wasm 應(yīng)用程序。
  • Wasm Workers Server,一個(gè)在 Wasm 之上開發(fā)和運(yùn)行無服務(wù)器應(yīng)用程序的工具。

在 10 月初的 Docker 年度用戶大會(huì)上,軟件培訓(xùn)師 Nigel Poulton 展示并描述了他如何使用 Spin 作為 Wasm 框架,在Wasm模塊中為應(yīng)用程序創(chuàng)建Wasm工件,然后將其打包到 Docker 容器中。他還描述了如何設(shè)置一個(gè)多節(jié)點(diǎn) Kubernetes 集群,其中包含一個(gè)控制平面節(jié)點(diǎn)和兩個(gè)工作線程。

至關(guān)重要的是,Poulton 描述了他如何擁有“運(yùn)行這些 Wasm 工作負(fù)載所需的軟件,而且都是簡單的容器化的東西”。

參考鏈接:

https://thenewstack.io/can-kubernetes-solve-webassemblys-component-challenges/

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2023-09-06 08:12:04

k8s云原生

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標(biāo)簽

2023-08-03 08:36:30

Service服務(wù)架構(gòu)

2023-05-25 21:38:30

2023-08-04 08:19:02

2024-01-26 14:35:03

鑒權(quán)K8sNode

2022-04-29 10:40:38

技術(shù)服務(wù)端K8s

2023-09-03 23:58:23

k8s集群容量

2021-12-03 06:29:56

K8sDubboSpring

2023-03-05 21:50:46

K8s集群容量

2021-04-12 20:42:50

K8S端口內(nèi)存

2022-12-07 17:33:50

K8Skubernetes

2022-12-06 07:30:12

K8s云原生生態(tài)系統(tǒng)

2024-07-22 13:43:31

Kubernetes容器

2023-07-04 07:30:03

容器Pod組件

2022-08-15 09:49:28

K8s云原生

2022-01-11 07:59:15

K8S KubernetesAirflow

2024-06-26 00:22:35

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)