近期,Pivotal發(fā)布了由Kubernetes驅動(dòng)的旗艦產(chǎn)品——Pivotal Application Service(PAS)的alpha版。Kubernetes是新的基礎設施即服務(wù)(IaaS),這就意味著(zhù),我們正在將Kubernetes嵌入到越來(lái)越多的Pivotal技術(shù)當中去。這同時(shí)也意味著(zhù)我們將在此基礎上助您實(shí)現更出色的業(yè)務(wù)成果。
采用Kubernetes是PAS的革新
多年來(lái),全球大型企業(yè)都給予了PAS長(cháng)足的信任,在PAS上運行它們最重要的工作。在那段時(shí)間中,隨著(zhù)開(kāi)源技術(shù)的發(fā)展和變化,Pivotal和客戶(hù)與合作伙伴傾力合作,認真仔細地對產(chǎn)品進(jìn)行了改進(jìn)。

例如,PAS現在支持TCP路由、NFS、Windows工作負載和Docker映像。它集成了諸如runC、Open Source Broker、Container Network Interface和Envoy等開(kāi)放資源。PAS還在不破壞用戶(hù)體驗的情況下改變了編排器和網(wǎng)絡(luò )堆棧。雖然做了這些改進(jìn),但PAS的使用者并沒(méi)有受到干擾——PAS平臺和神奇的“cf push”指令都處在“正常工作”狀態(tài)。
PAS最近一次的演進(jìn)是將Kubernetes作為底層容器編排。而我們承諾這一定不是最后一次,現在就讓我們來(lái)看看alpha版的發(fā)行有哪些值得期待的地方吧!
基于Kubernetes的PAS:初見(jiàn)
顧名思義,基于Kubernetes的PAS旨在將PAS的開(kāi)發(fā)經(jīng)驗帶到Kubernetes上。alpha版是一個(gè)支持PAS最重要特性的概念驗證,比如,在Kubernetes上運行PAS應用實(shí)例時(shí)的許多基于buildpack應用程序的“cf push”。下圖對alpha版中的內容進(jìn)行了總結。

基于Kubernetes的PAS被打包進(jìn)Ops Manager套裝中,并使用BOSH部署其系統組件。它需要vSphere、NSX-T和Enterprise PKS。
alpha發(fā)行版的特點(diǎn)
在PAS on Kubernetes的新系統組件,應用實(shí)例以Kubernetes pod的形式運行,并將應用和配置翻譯成oci鏡像和Kubernetes的pod配置,然后平臺提交鏡像和配置至目標Kubernetes集群,至此,Kubernetes以pod的形式來(lái)運行應用實(shí)例。
1. HTTP路由連接到應用實(shí)例。
基于Kubernetes的PAS處理用戶(hù)對正運行的應用程序的連接請求。它通過(guò)可擴展的、且功能豐富的HTTP Gorouter來(lái)注冊上述提到的應用實(shí)例pods。(從Gorouter到pod的連接目前依靠NSX-T以及其與Enterprise PKS的集成。)
2. 記錄來(lái)自應用實(shí)例的流。
現在您的應用實(shí)例正在運行并處理流量,您想監控它們。基于Kubernetes的PAS將日志從這些應用實(shí)例pods導向Loggregator。該系統是Pivotal長(cháng)期客戶(hù)熟悉的老朋友。它提供了方便、整合的應用日志。
3. 可擴展到至少50個(gè)應用實(shí)例。
一旦你“cf push”了一個(gè)應用程序,你就很難停留在一個(gè)工作負載上。基于Kubernetes的PAS可以在一次試運行中處理足夠多的應用程序。請注意,我們仍在努力尋求如何去最好地擴展這些新組件和集成。
最后一個(gè)注意事項:基于Kubernetes的PAS是基于Small Footprint PAS的——這是一個(gè)精簡(jiǎn)均衡的PAS版本。由于Kubernetes開(kāi)始成為運行各種工作負載的基礎設施層,alpha發(fā)行版將是我們演進(jìn)過(guò)程中的一個(gè)重要里程碑。
基于Kubernetes的PAS:下一步展望
雖然在基于Kubernetes的PAS的第一個(gè)alpha版本中,我們專(zhuān)注在PAS開(kāi)發(fā)人員體驗相關(guān)的核心特性上,但是PAS做好準備迎接它的黃金期之前,我們還有大量的工作要做。下面是一些我們接下來(lái)要探索的領(lǐng)域:
- 提供多云支持。我們知道,PCF、PAS和PKS在任何云上都運行得很好。我們對基于Kubernetes的PAS也有相同的期待。我們還計劃支持Kubernetes的其他服務(wù),如Microsoft Azure上的AKS和谷歌云平臺上的GKE。
- 確保應用在平臺升級期間的正常運行。無(wú)論平臺底層發(fā)生什么,PAS能夠保障應用的運行和可連接性。我們希望基于Kubernetes的PAS亦是如此。基于Kubernetes的新服務(wù)應該在平臺升級期間能夠維護應用的正常運行時(shí)間。
- 新組件和集成的可觀(guān)察性。作為一個(gè)平臺團隊,您希望了解您的平臺堆棧中發(fā)生了什么。我們則確保您能夠對我們添加進(jìn)PAS的新組件進(jìn)行檢查和故障排除。有了這些功能,您就能夠解讀那些從Kubernetes集群底層文本信息中獲得的數據。
- 隨PAS部署。我們想讓平臺團隊在現有環(huán)境中更容易地試用基于Kubernetes的PAS。在未來(lái)的版本中,我們計劃讓您能夠盡可能無(wú)縫地轉移應用程序。
但有一件事在Pivotal從未改變:我們專(zhuān)注于支持您的應用程序,無(wú)論您選擇什么云。