官宣:Azure Kubernetes Service終落中國
如今, Kubernetes 已成為容器編排事實上的標準,其上升趨勢越發凸顯,而中國對Kubernetes的關注度更是排在全球首位。在雲原生計算基金會CNCF 的調查報告中,58%受訪者已經在生產環境中使用 Kubernetes。Kubernetes 不僅接受住了生產實踐的檢驗,也從技術採納生命週期的early adoptor進入到了early majority 階段。在未來一到兩年中,會有更多的企業基於Kubernetes執行他們的雲原生應用。
不過,雖然Kubernetes是容器編排的利器,但Kubernetes的安裝、部署和使用仍然存在著不低的技術門檻,對於一般使用者而言,要想隨心所欲的使用Kubernetes,發揮Kubernetes的應用能力,仍然是一件不太容易的事情。為此,很多雲廠商都試圖通過雲服務的形式將Kubernetes提供給使用者使用,遮蔽使用者在安裝、部署、使用Kubernetes時面臨的大多數問題,從而幫助使用者更簡單、有效、容易的使用Kubernetes。
翹首以盼,AKS終花落中國
而對於穩居全球公有云市場第二把交椅的微軟Azure來說,推出Kubernetes服務也是大勢所趨,並不太令人感到意外。然而,雖然微軟早在2017年2月就已經整合了Kubernetes容器排程編排平臺,但對於大多數中國的使用者來說,卻一直無福消受這項優質的服務。不過,這個情況不久將會發生改觀。在剛剛結束的KubeCon+CloudNativeCon上,微軟正式宣佈,Azure Kubernetes Service(AKS)已登陸由世紀互聯運營的Microsoft Azure,在中國市場開放預覽。
Kubernetes開源專案聯合創始人、微軟傑出工程師Brendan Burns表示:“我們正迎來一個智慧雲與智慧邊緣的時代,這為全球各地的開發者帶來了以創新方式開發雲原生應用的更廣闊的發展機遇。以微軟智慧雲Azure為基礎,微軟致力於為全球開發者打造功能強大的研發雲平臺及服務。幫助任何開發者,使用任何他們習慣的方式,為任何平臺開發現代化的創新應用。Azure Kubernetes Service將Kubernetes容器平臺便於開發、部署、管理的優勢,與微軟智慧雲Azure安全、可靠、自動化的運維相結合,並將在中國市場的Azure上開放預覽。我們希望此舉能幫助更多中國開發者開啟雲原生應用開發的新機遇。”
完美融合,Azure+Kubernetes
作為由Kubernetes開源專案創始人之一的Brendan Burns親自打造的專案,AKS將Azure智慧雲簡單易用的優勢與Kubernetes強大的容器編排能力進行了完美的融合,能夠大大簡化Kubernetes的部署和運營,讓開發者可靠、靈活地自由伸縮應用架構。 它具有如下特點:
Kubernetes 環境安全管控:利用Azure Active Directory帳戶和使用者組,控制對Kubernetes群集的訪問;將Azure Active Directory與Kubernetes角色訪問控制整合,可對Kubernetes資源訪問實現精細控制;使用Key Vault 保護Kubernetes主節點和代理節點所用的密碼和其他金鑰;通過自定義虛擬網路、Azure容器網路介面(CNI) 和網路策略執行保護容器網路通訊安全;
加速容器化應用的開發:有效降低應用開發複雜度,使用Helm輕鬆定義、安裝和升級複雜的Kubernetes 應用程式,並自動構建和容器化應用程式;使用Azure Dev Spaces和Visual Studio、Visual Studio Code 或Azure CLI加速開發、測試和除錯容器;共享AKS 群集並協同工作,無需複製或模擬依賴項;在幾秒內便可通過HTTP 路由訪問已部署的應用;
充分利用開源工具和API:AKS基於完全開源的Kubernetes,可讓使用者充分利用Kubernetes 生態系統中的服務和工具;使用常用的開源工具(如Helm、Draft 和Brigade),可自動執行軟體交付流水線;使用Open Service Broker for Azure,輕鬆將Kubernetes與受SLA支援的Azure服務(如CosmosDB)整合;
輕鬆實現持續整合/持續部署(CI/CD):藉助Azure DevOps Project (預覽版),只需三步即可使用完整的CI/CD 流水線和應用監控,將應用程式部署到Kubernetes。使用Azure 容器映象倉庫,可簡化容器開發並管理需要跨多個區域複製的容器映象倉庫;Azure容器映象倉庫中的異地複製允許以單個例項的形式管理全域性的映象倉庫,簡化操作和管理。
同樣的雲,不一樣的Kubernetes服務
雖說同樣都是公有云提供的Kubernetes服務,但Brendan Burns認為AKS至少有以下兩點與其他公有云廠商提供的Kubernetes服務不同:
首先,雖然在Kubernetes上,API都是統一的標準。但是從Azure來看,微軟更傾向於讓更多使用者的場景變得更簡單,因此,微軟圍繞著K8S做了很多的工作。比如上面提到的對於Kubernetes的安全管控,微軟就投入了很多資源去做。另外,對於提升開發的體驗,微軟也做了相當多的工作,例如,通過HoloLens去幫助開發者更容易地完成他們的工作。其次,微軟一方面為使用者提供企業級的Kubernetes的服務,如使用規則和安全管控。另一方面,微軟也為開發者提供了開發上的諸多便利,例如,為使用者提供Visual Studio等一系列簡單易用的工具。
Brendan還認為,以雲服務的方式為使用者提供Kubernetes服務是一個好場景,因為如果單獨執行Kubernetes很難,花銷也很大。而使用AKS則可以用更便宜的方式提供服務,能夠幫助使用者更好的管理Kubernetes,為使用者分擔很多的複雜度和壓力,同時也可以為客戶提供很強的靈活性。
對於大家比較關心的AKS的技術支援服務,Brendan表示,當客戶遇到問題的時候,他們既可以找微軟,也可以找開源社群反饋。但是找微軟的好處在於AKS是個商業產品,微軟對於此產品是負責的,會給客戶提供相應的技術支援。如果客戶在Kubernetes這個平臺本身找到了bug,他們可以告訴微軟的技術團隊,而微軟也會回到上游去修復這個bug。不過,使用者如果樂於向開源社群做貢獻,也可以在上游的開源社群去修復bug。
Brendan最後表示,雖然AKS具有和其他公有云廠商提供的Kubernetes服務有所不同,但如果Kubernetes有需要改進的地方,他本人則更傾向於在Kubernetes上做完善。Brendan坦言,雖然非常希望AKS能夠成為更棒的產品,但他更希望自己所創造的Kubernetes能夠被更多的人使用。