簡(jiǎn)化 Kubernetes 應(yīng)用程序的管理:借助 Knative 輕松構(gòu)建無服務(wù)器應(yīng)用!?
無服務(wù)器架構(gòu)在開發(fā)者中逐漸流行,讓開發(fā)人員不需要再付出額外的精力管理服務(wù)器就可以運(yùn)行自己的應(yīng)用。但在這種架構(gòu)下,服務(wù)器仍在后臺(tái)以另一種方式運(yùn)行,只不過是將維護(hù)和擴(kuò)展基礎(chǔ)架構(gòu)的工作量轉(zhuǎn)移給了云服務(wù)提供商。在無服務(wù)器的架構(gòu)下,開發(fā)人員可以將代碼簡(jiǎn)化為實(shí)現(xiàn)特定的功能,并利用“按需”成本模型,僅在函數(shù)執(zhí)行的時(shí)候?yàn)槭褂玫降馁Y源支付費(fèi)用,從而降低成本。
消除復(fù)雜性、提高創(chuàng)新力!Akamai 云計(jì)算服務(wù),靈活的開放式架構(gòu),簡(jiǎn)化開發(fā)體驗(yàn)!
消除復(fù)雜性、提高創(chuàng)新力!Akamai 云計(jì)算服務(wù),靈活的開放式架構(gòu),簡(jiǎn)化開發(fā)體驗(yàn)!
延伸閱讀,了解 Akamai cloud-computing
出海云服務(wù),選擇Akamai cloud-computing!
當(dāng) API 終結(jié)點(diǎn)觸發(fā)事件時(shí),函數(shù)就會(huì)運(yùn)行,這讓狀態(tài)不可預(yù)測(cè)或快速變化的應(yīng)用程序能夠使用從主應(yīng)用程序中抽象出來,并在函數(shù)層面進(jìn)行水平擴(kuò)展。我們來看一個(gè)例子,當(dāng)購(gòu)物者在電子商務(wù)網(wǎng)站上選購(gòu)商品時(shí),可能會(huì)觸發(fā)一個(gè)函數(shù),這個(gè)函數(shù)能夠檢查數(shù)據(jù)庫(kù),查看該產(chǎn)品的庫(kù)存狀況并獲取最新的價(jià)格信息。
要對(duì)無服務(wù)器化的Kubernetes 應(yīng)用程序進(jìn)行管理,離不開高效的工具。Knative是一款建立在 Kubernetes 之上,并提供強(qiáng)大功能的工具集,可以用于管理無服務(wù)器應(yīng)用程序。 Knative 使您的 Kubernetes 集群能夠?qū)?/span> pod 擴(kuò)展到零的狀態(tài),同時(shí)仍然提供可用的資源,以便于pod 可以在需要時(shí)得到擴(kuò)展。
Knative 支持可以自定義的事件和觸發(fā)器,能夠控制應(yīng)用程序的響應(yīng)方式。 它是一種可移植的,并且提供商中立的工具,因此您可以將它與您首選的托管 Kubernetes 服務(wù)(如我們自己的 Linode Kubernetes Engine)一起使用,也可以將其安裝在本地集群上。Kubernetes 和這個(gè)可安裝的函數(shù)平臺(tái)優(yōu)化了在 Kubernetes 上運(yùn)行應(yīng)用程序的狀態(tài)管理和自我修復(fù)能力。
Knative 可提供:
- 自動(dòng)縮放:Knative 提供基于流量和需求的pod 自動(dòng)縮放,包括縮放至零。 這可以提升資源利用率并降低成本。
- 事件驅(qū)動(dòng)計(jì)算:Knative 允許無服務(wù)器工作負(fù)載響應(yīng)事件和觸發(fā)器。
- 可移植性:Knative 能夠跨不同的云提供商和環(huán)境工作。 允許開發(fā)人員在不修改代碼的情況下將無服務(wù)器應(yīng)用程序部署至不同的環(huán)境中。
- 可擴(kuò)展性:Knative 提供了一組可定制的構(gòu)建塊,以滿足特定的應(yīng)用程序要求。
- 企業(yè)可擴(kuò)展性:Knative 得到了 Puppet 與 Outfit7 等公司的信任。
它是如何運(yùn)行的
Knative 的功能分為 Knative Eventing 和 Knative Serving。
- Eventing: API 的集合,通過 HTTP POST 請(qǐng)求啟用接收器,或?qū)⑹录纳a(chǎn)者路由到消費(fèi)者。
- Serving:將一組對(duì)象定義為 Kubernetes 自定義資源定義 (CRD),或創(chuàng)建 Kubernetes API 的擴(kuò)展。這將決定無服務(wù)器工作負(fù)載如何與具有以下資源的 Kubernetes 集群交互。
- 路由:網(wǎng)絡(luò)端點(diǎn)映射到修訂端點(diǎn)和流量管理。
- 配置:將所需狀態(tài)作為獨(dú)立于代碼的層進(jìn)行維護(hù)。
- 修訂:每次更改和修改的代碼和配置快照。
- 服務(wù):工作負(fù)載管理,控制對(duì)象創(chuàng)建并確保您的應(yīng)用程序持續(xù)具有最新版本或特定版本的路由、配置和版本。 Knative 默認(rèn)使用 Istio 網(wǎng)關(guān)服務(wù)。
Knative 使用 Kubernetes 作為編排器,Istio 處理查詢路由和負(fù)載均衡。
您可以使用 YAML 或 Knative Operator for Kubernetes將 Knative 安裝到您的集群上。 還有 Kubernetes 社區(qū)成員提交的 Knative Helm 圖表。另外, Knative 還提供一個(gè)快速入門環(huán)境,但建議僅將其用于測(cè)試目的。
Getting Started on Akamai Cloud
在Akamai Cloud上開始入門
Knative 對(duì) LKE 內(nèi)置autoscaler來說是一項(xiàng)極好的補(bǔ)充,它讓您可以輕松控制集群節(jié)點(diǎn)池中的最小和最大節(jié)點(diǎn)數(shù)。 結(jié)合使用 Knative 和 autoscaler 可以在 pod 和基礎(chǔ)設(shè)施級(jí)別提供精細(xì)化的管理。
為了幫助您快速入門,我們開設(shè)了一門全新的點(diǎn)播課程! 通過與 Coding for Entrepreneurs 的 Justin Mitchel 合作,我們制作了 Try Knative 點(diǎn)播課程,該課程將于 2023 年 2 月 28 日上線。本視頻系列包括使用 Terraform 創(chuàng)建 Kubernetes 集群、配置 Knative 服務(wù)以及部署容器化應(yīng)用程序等內(nèi)容,期待大家的觀看與分享。
這篇文章的內(nèi)容感覺還行吧?有沒有想要立即在 Linode 平臺(tái)上親自嘗試一下?別忘了,現(xiàn)在注冊(cè)可以免費(fèi)獲得價(jià)值 100 美元的使用額度,快點(diǎn)自己動(dòng)手體驗(yàn)本文介紹的功能和服務(wù)吧↓↓↓
歡迎關(guān)注Akamai ,第一時(shí)間了解高可用的MySQL/MariaDB參考架構(gòu),以及豐富的應(yīng)用程序示例