Categories
程式開發

揭開平台的神秘面紗:Cloud Foundry、Kubernetes、Eirini與Knative


Matthias Haeussler和Dr Nic Williams在今年的SpringOne Platform 2019大會討論了不同的雲平台並站在開發人員的角度對它們進行了對比。他們討論了Cloud FoundryKubernetesEirini項目和Knative無服務器平台。

在演講的開頭,Haeussler和Williams首先回顧了容器和平台和歷史。這段歷史從1979年的chroot開始一直到2018年的Knative和Eirini項目,他們還討論了Cloud Foundry和Kubernetes平台的基礎理念。他們認為平台應該為開發人員提供自助服務,為所有支持的角色提供UX,以及自動化&監控、自愈和資源優化。平台應該以基礎設施為中心,而不應以應用為中心。

他們建議開發人員避免“非我所創平台(Not Invented Here Platform)”(Not Invented Here指的是人們基於這樣或那樣的原因,避免使用或購買已經存在的產品,參見維基百科對它的闡述。 ——譯者註)的反模式。如果你沒有使用平台的話,那麼你肯定就是在構架自己的平台。沒有意識到這一點並不能改變你正在DIY自己的雲平台的事實。標準的平台可能無法讓你做任何想做的事情,但是它們可以滿足你在平台方面的大多數需求。

Haeussler展示了將應用部署到不同雲平台的樣例。 Cloud Foundry應用部署要使用像cf pushcf scalecf ssh這樣的命令。

Eirini項目是針對Cloud Foundry的Kubernetes後端。它使用OCI鏡像將應用部署到Kubernetes引擎中。運維人員可以選擇使用Diego或Kubernetes來編排應用容器實例。

Quarks項目是來自Cloud Foundry基金會的另一項貢獻,它能夠將Cloud Foundry應用運行時(Cloud Foundry Application Runtime,CFAR)打包成容器而不是虛擬機,這樣的話更易於部署到Kubernetes中。容器化的CFAR提供與BOSH管理的Cloud Foundry安裝包相同的開發人員體驗。你可以在應用程序中同時使用Eirini和Quarks。

Haeussler和Williams還談到了Cloud Native Build Packs,這是CNCF託管的一個項目,可以用做將應用程序交付到雲平台的標準構建和部署過程,開發人員不必再擔心應用程序會部署在哪個特定平台上。工程師可以在本地計算機或集群中使用這些構建包。該項目還有助於重新設置容器中的層,對現有OCI鏡像進行操作系統更新、漏洞檢測以及將更新部署到集群中的所有容器。

接下來,他們討論了kpack工具,這是一個Kubernetes原生容器構建服務,它利用Kubernetes原語提供OCI鏡像的構建,以此作為Cloud Native Build Packs的平台實現。kpackPivotal Build Service的一部分。有關此新構建工具的更多信息,請查看它們的教程。另一個名為Open Service Broker的計劃有助於讓Cloud Foundry“即插即用”。 Open Service Broker API項目允許雲供應商向在Cloud Foundry和Kubernetes等雲原生平台上運行的工作負載提供支撐服務。

他們還展示瞭如何在雲原生應用中使用Istio服務網格。 Knative平台有助於構建和部署,並可以管理組織中的所有的無服務器工作負載。它為Kubernetes上的雲原生應用程序提供了縮放至零、自動伸縮、集群內構建以及事件框架等特性。

關於這次演講的更多細節,你可以參考文稿視頻錄像。你也可以通過SpringOne 2019大會上Emily Casey和Joe Kutner所做的演講來了解Kubenetes上的Cloud-Native Buildpacks。

原文鏈接:

Platforms Demystified: Cloud Foundry, Kubernetes, Eirini, and Knative