依靠K8S實現新一代通用AP層架構

danny_2018發表於2018-08-31

在容器商用化市場競賽上,Docker以簡單易用的封裝設計,掀起了容器技術的浪潮,相繼成為了容器技術的標準,也帶動了IT架構下個十年的變革。

雖然早在2006年就開始發展容器技術的Google慢了一步,但每週至少啟用20億個容器的大規模部署經驗,讓Google走上了另一條容器發展之路,也就是以提供大規模容器排程和叢集管理為主的Kubernetes計劃。

4年過去了,Docker和Kubernetes的地位顯然互換,過去Docker是最多人琅琅上口的容器技術名詞,現在主角則變成了Kubernetes。雲端教父AWS雲端架構策略副總裁Adrian Cockcroft曾指出,兩者雖然都是運用容器技術,但最大的差異是,Docker是要解決應用程式開發(Developing)問題,而Kubernetes是要解決更上層的應用程式運維問題(Operation)。開發問題是早期的痛點,但隨著企業越來越依賴容器技術,內部應用越來越多是雲原生應用時,運維會是企業IT的新痛點。 

運維管理需求是Kubernetes後來居上的關鍵

因為雲原生應用大多采用微服務架構設計,結合容器技術,一支應用程式往往需要數十,甚至複雜者要上百個容器化微服務程式組成,企業若有1百支應用,就得管上數千,甚至上萬個容器化微服務,運維管理就成了最大的挑戰。這正是後來主打大規模容器叢集管理的Kubernetes後來勝出的關鍵。

企業商軟大廠也紛紛加入Kubernetes平臺戰局,不論是在雲端服務或是私有PaaS平臺上,來發展自己的Kubernetes產品。像微軟更直接找來Kubernetes共同創辦人Brendan Burns,負責率領Azure容器服務團隊,自己混合雲產品Azure Stack也大力支援Kubernetes。IBM同樣也靠以Kubernetes為核心的PaaS軟體IBM Cloud Private,要來搶攻企業私有云容器平臺市場,尤其是微服務管理需求。

很早就支援Kubernetes的紅帽,在2015年推出的OpenShift 3.0版中,不惜放棄自己的容器排程工具,開始支援Kubernetes,現在更成為了要通吃跨多雲、混合雲架構,又能通吃裸機、容器和VM的企業級通用應用管理平臺。而虛擬化龍頭VMware也不落人後,近來也改力推主打通吃多家IaaS公雲和Kubernetes叢集管理的容器服務PKS軟體。連甲骨文都在旗下雲端服務支援Kubernetes。

而云端容器託管服務這兩年更進入了新的競爭階段,不少雲端業者相繼將自己容器託管服務中的Container,改由Kubernetes取代,例如Azure的ACS早在去年就換成了AKS,IBM則是今年5月將CloudContainer Service更名為Cloud Kubernetes Service,簡稱IKS。Kubernetes取代了Container,成了容器服務的新代名詞。

先讓Helm格式成為Kubernetes App封裝格式

但是,Google的Kubernetes佈局,遲遲沒有跨出雲端,除了積極參與Kubernetes開源專案之外,就是全力發展GKE,試圖打造出雲端容器代管服務領導者的地位。直到今年Next雲端產品大會舉辦前一週,Google低調地釋出了一個訊息,將原本GCP的服務快速安裝入口網站(Cloud Launcher)更名為Google Cloud應用市場,開始賣起來各種第三方軟體廠商開發的商業軟體。

其中最特別的是,這個App市場中設定了企業級Kubernetes App型別,也就是Kubernetes App市場。使用GCP的企業,可以直接在這個App市場,購買想要用的Kubernetes App。Nginx、Spark、Elasticsearch、WordPress、Cassandra等13家軟體公司,開始透過Kubernetes App的形式銷售企業級軟體。

Google還預告要制訂一個Kubernetes App的標準,就像OCI容器映象那樣的容器應用打包形式,Google試圖要讓透過Kubernetes封裝管理套件Helm打包的Kubernetes App也能成為一種流通用的封裝格式。

不同Docker容器化應用,得將所有程式封裝到單一個映象中,Helm可以將組合一支應用系統的多個微服務程式各自的映象,打包到一套應用程式包中封裝,更符合大型企業應用或複雜雲端原生應用的需求。

和Helm封裝形式的通用化和專用市場形式的出現,讓Kubernetes App成了容器化應用的新格式,這是Google新一代AP層的成形,打下第一個基礎。

GKE On-Prem主機首次公開

到了Next大會第一天開場演講中,正當Google現場示範如何管理部署在兩地的GKE容器叢集時,突然秀出其中一套GKE的部署地點,竟然就在Next大會舉辦地點Moscone Center。隨即,舞臺上也出現了這臺GKE主機,Google Cloud雲端基礎架構資深副總裁Urs Hölzle當場宣佈,雲端GKE服務將推出軟體版本GKE On-Prem,可安裝於企業內部機房伺服器中。

Urs Hölzle宣佈,Google將以GKE On-Prem軟體,搭配開源微服務管理平臺Istio,組成一套混合雲軟體稱為Cloud Services Platform。GKE On-Prem的管理介面和雲端GKE服務完全相同,企業可以將雲端GKE上的服務,搬到自己機房,而不用改變管理運維方法。企業運維人員透過GoogleCloud Console就可以同時管理雲端的GKE服務和部署於自己機房的GKE On-Prem環境。

而Istio則是一套採取服務網格(Service Mesh)架構,來管理大量微服務的軟體,可以將多個Kubernetes叢集,集中到單一套服務網格中,來管理,並能支援跨Kubernetes叢集聯機,也能確保每個叢集都套用一致的管理政策。不只Google,紅帽同樣也在自己的OpenShift上要支援Istio,同樣都是看上企業未來大量微服務管理的需求。

不只如此,GKE On-Prem軟體也強化了多項混合雲整合機制,如企業可使用也可和雲端GKE整合,不用建立複雜VPN。另外也可通用雲端身份或自己的身份驗證服務來登入GKE On-Prem。

運算工作可以跨不同GKE雲端叢集或自家的GKE叢集間移動。企業可自建一個本地端Prometheus來監控GKE On-Prem,也可用雲端的Stackdriver服務來監控本地端的GKE On-Prem叢集。

不同於雲端GKE,本地端GKE軟體可存取永續性儲存服務來部署大型應用,例如複雜的資料庫。Google雲端部署工具Cloud Build也可用來部署本地端GKE On-Prem上的容器應用。而Kubernetes應用市場上的Kubernetes應用,果不其然,也可部署到本地端的GKE On-Prem環境中。

Google的Cloud Services Platform戰略佈局,不只是涵蓋了混合雲、企業私有云、KubernetesApp市場,還要讓自家無伺服器服務,能部署到GKE On-Prem上,來進入企業內部。

企業混合雲架構的最後一塊拼圖

Urs Hölzle表示,Kubernetes已經成為企業基礎架構的部署標準之一,也因此,Google現在更進一步要用GKE On-Prem軟體來補齊企業混合雲架構的最後一塊拼圖。Google新策略是將雲帶到你身邊。要讓企業內部環境(on premise)到雲端環境的管理工具能一致化,從網路到應用程式都能用同樣的管理方式。

而他沒說出口的是,如此一來,藉助GKE On-Prem軟體和Cloud Services Platform佈局,Kubernetes已經成為了企業全新的應用層,甚至可以說是新一代的應用伺服器層,未來的Kubernetes雲原生應用,可以在這一層快速部署,任意排程擴充和遷移,就像是新一代的通用AP層基礎架構。

原文:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2213335/,如需轉載,請註明出處,否則將追究法律責任。

相關文章