近期,Pivotal發(fā)布了由Kubernetes驅(qū)動的旗艦產(chǎn)品——Pivotal Application Service(PAS)的alpha版。Kubernetes是新的基礎(chǔ)設(shè)施即服務(wù)(IaaS),這就意味著,我們正在將Kubernetes嵌入到越來越多的Pivotal技術(shù)當(dāng)中去。這同時也意味著我們將在此基礎(chǔ)上助您實現(xiàn)更出色的業(yè)務(wù)成果。
采用Kubernetes是PAS的革新
多年來,全球大型企業(yè)都給予了PAS長足的信任,在PAS上運(yùn)行它們最重要的工作。在那段時間中,隨著開源技術(shù)的發(fā)展和變化,Pivotal和客戶與合作伙伴傾力合作,認(rèn)真仔細(xì)地對產(chǎn)品進(jìn)行了改進(jìn)。
例如,PAS現(xiàn)在支持TCP路由、NFS、Windows工作負(fù)載和Docker映像。它集成了諸如runC、Open Source Broker、Container Network Interface和Envoy等開放資源。PAS還在不破壞用戶體驗的情況下改變了編排器和網(wǎng)絡(luò)堆棧。雖然做了這些改進(jìn),但PAS的使用者并沒有受到干擾——PAS平臺和神奇的“cf push”指令都處在“正常工作”狀態(tài)。
PAS最近一次的演進(jìn)是將Kubernetes作為底層容器編排。而我們承諾這一定不是最后一次,現(xiàn)在就讓我們來看看alpha版的發(fā)行有哪些值得期待的地方吧!
基于Kubernetes的PAS:初見
顧名思義,基于Kubernetes的PAS旨在將PAS的開發(fā)經(jīng)驗帶到Kubernetes上。alpha版是一個支持PAS最重要特性的概念驗證,比如,在Kubernetes上運(yùn)行PAS應(yīng)用實例時的許多基于buildpack應(yīng)用程序的“cf push”。下圖對alpha版中的內(nèi)容進(jìn)行了總結(jié)。
基于Kubernetes的PAS被打包進(jìn)Ops Manager套裝中,并使用BOSH部署其系統(tǒng)組件。它需要vSphere、NSX-T和Enterprise PKS。
alpha發(fā)行版的特點
在PAS on Kubernetes的新系統(tǒng)組件,應(yīng)用實例以Kubernetes pod的形式運(yùn)行,并將應(yīng)用和配置翻譯成oci鏡像和Kubernetes的pod配置,然后平臺提交鏡像和配置至目標(biāo)Kubernetes集群,至此,Kubernetes以pod的形式來運(yùn)行應(yīng)用實例。
1. HTTP路由連接到應(yīng)用實例。
基于Kubernetes的PAS處理用戶對正運(yùn)行的應(yīng)用程序的連接請求。它通過可擴(kuò)展的、且功能豐富的HTTP Gorouter來注冊上述提到的應(yīng)用實例pods。(從Gorouter到pod的連接目前依靠NSX-T以及其與Enterprise PKS的集成。)
2. 記錄來自應(yīng)用實例的流。
現(xiàn)在您的應(yīng)用實例正在運(yùn)行并處理流量,您想監(jiān)控它們;贙ubernetes的PAS將日志從這些應(yīng)用實例pods導(dǎo)向Loggregator。該系統(tǒng)是Pivotal長期客戶熟悉的老朋友。它提供了方便、整合的應(yīng)用日志。
3. 可擴(kuò)展到至少50個應(yīng)用實例。
一旦你“cf push”了一個應(yīng)用程序,你就很難停留在一個工作負(fù)載上;贙ubernetes的PAS可以在一次試運(yùn)行中處理足夠多的應(yīng)用程序。請注意,我們?nèi)栽谂で笕绾稳プ詈玫財U(kuò)展這些新組件和集成。
最后一個注意事項:基于Kubernetes的PAS是基于Small Footprint PAS的——這是一個精簡均衡的PAS版本。由于Kubernetes開始成為運(yùn)行各種工作負(fù)載的基礎(chǔ)設(shè)施層,alpha發(fā)行版將是我們演進(jìn)過程中的一個重要里程碑。
基于Kubernetes的PAS:下一步展望
雖然在基于Kubernetes的PAS的第一個alpha版本中,我們專注在PAS開發(fā)人員體驗相關(guān)的核心特性上,但是PAS做好準(zhǔn)備迎接它的黃金期之前,我們還有大量的工作要做。下面是一些我們接下來要探索的領(lǐng)域:
- 提供多云支持。我們知道,PCF、PAS和PKS在任何云上都運(yùn)行得很好。我們對基于Kubernetes的PAS也有相同的期待。我們還計劃支持Kubernetes的其他服務(wù),如Microsoft Azure上的AKS和谷歌云平臺上的GKE。
- 確保應(yīng)用在平臺升級期間的正常運(yùn)行。無論平臺底層發(fā)生什么,PAS能夠保障應(yīng)用的運(yùn)行和可連接性。我們希望基于Kubernetes的PAS亦是如此;贙ubernetes的新服務(wù)應(yīng)該在平臺升級期間能夠維護(hù)應(yīng)用的正常運(yùn)行時間。
- 新組件和集成的可觀察性。作為一個平臺團(tuán)隊,您希望了解您的平臺堆棧中發(fā)生了什么。我們則確保您能夠?qū)ξ覀兲砑舆M(jìn)PAS的新組件進(jìn)行檢查和故障排除。有了這些功能,您就能夠解讀那些從Kubernetes集群底層文本信息中獲得的數(shù)據(jù)。
- 隨PAS部署。我們想讓平臺團(tuán)隊在現(xiàn)有環(huán)境中更容易地試用基于Kubernetes的PAS。在未來的版本中,我們計劃讓您能夠盡可能無縫地轉(zhuǎn)移應(yīng)用程序。
但有一件事在Pivotal從未改變:我們專注于支持您的應(yīng)用程序,無論您選擇什么云。