梁勝:Kubernetes 已成為新的基礎設施標準
作者介紹:梁勝博士,Rancher Labs Inc. 聯合創始人及CEO。Java語言J2SE平台核心組件JNI的作者,JVM的領導設計與開發者。2008年創建http://cloud.com,被譽為CloudStack之父。2011年http://cloud.com被Citrix收購,成為Citrix首位華人CTO。2014年創立Rancher Labs,公司產品Rancher是開源的企業級容器與Kubetnetes管理平台。
談及容器技術,毫不誇張地說,2017年是「Kubernetes之年」。Kubernetes自2014年推出以來,就一直保持穩步增長,但在2017年,增長速度遠超大家的想像。 1、以我自己的公司Rancher Labs來說,我們創建的容器管理平台Rancher在過去支持多種容器編排框架,包括Swarm、Mesos和Kubernetes。為了滿足市場和客戶的需求,Rancher 2.0版本100%的放在Kubernetes上。我們並不孤單,甚至包括Docker和Mesosphere在內的競爭框架的開發商也宣布支持Kubernetes。 2 、Kubernetes的安裝和操作變得更容易了。實際上,在大多數情況下,您不再需要安裝和操作Kubernetes。所有主要雲提供商,包括谷歌、微軟Azure、AWS和中國領先的雲服務提供商,如華為、阿里巴巴、騰訊,都推出了「Kubernetes即服務」。這不僅讓使用谷歌GKE或華為CCE的雲Kubernetes更加簡單,同時,也更加便宜。 雲服務提供商通常不對運行Kubernetes主機所需的資源進行收費。因為要運行Kubernetes API伺服器和etcd資料庫至少需要3個節點,所以雲「Kubernetes即服務」可以節省大量的成本。對於那些仍然想在自己的數據中心中運行Kubernetes的用戶,VMware推出了Pivotal Container Service (PKS.)。事實上,有超過40家供應商提供了CNCF認證的Kubernetes發行版本,運行和操作Kubernetes比以往任何時候都要容易。 3、Kubernetes快速增長的一個最重要標誌,就是大量用戶開始在Kubernetes上運行他們的關鍵任務生產工作負載。由於Rancher從最開始就支持多個編排引擎,我們對Kubernetes的增長更加敏感。例如,我們一個美國財富50強金融服務公司客戶,他們每天都在Kubernetes集群上運行他們的應用程序,處理數十億美元的事務。 另外一個我們觀察到的重要趨勢是,用戶在生產環境中運行Kubernetes時越來越關心安全性。回到2016年,我們從客戶那裡聽到的最常見的問題都是圍繞著CI/CD。那時,Kubernetes主要用於開發和測試環境。現在,客戶最常見的特性要求是單點登錄、集中訪問控制、應用和服務之間的隔離、基礎設施強化、secrets和憑證管理。我們相信,提供單獨一層來定義和執行安全政策將是Kubernetes最強的賣點之一。我們預測,安全將繼續成為2018年最熱門的發展領域之一。 由於雲提供商和VMware都支持Kubernetes服務,Kubernetes已經成為新的基礎設施標準。這對IT行業有著巨大的影響。眾所周知,計算工作將轉移到IaaS雲上,IaaS是建立在虛擬機上的,而虛擬機沒有標準的虛擬機鏡像格式或標準的虛擬機集群管理器。因此,為某一種雲構建的應用程序很難輕鬆地部署到其它雲上。Kubernetes的出現成為這個遊戲規則的改變者。構建Kubernetes的應用程序可以部署在任何兼容Kubernetes服務上,而不用考慮底層基礎設施。在Rancher客戶中,我們已經看到了多雲部署被廣泛採用。對於Kubernetes來說,多雲計算很簡單。DevOps團隊也大受裨益,因為整個系統的靈活性、可靠性以及成本都大為提升。
我對Kubernetes將在2018年繼續增長感到非常興奮。以下是我們應該關注的一些具體領域: 1、在最近的KubeCon上,最熱門的話題是Service Mesh。Linkerd、Envoy、Istio等等都在2017年開始流行。儘管這些技術的應用還處於初級階段,但潛力是巨大的。人們通常認為Service Mesh是一個微服務框架。但是,我認為,Service Mesh將帶來的好處遠遠超出了任何一個微服務框架。Service Mesh可以成為所有分散式應用程序的共同基礎。它為應用程序開發人員提供了大量的支持,用於通信、監視和管理組成應用程序的各種組件。這些組件可能是也可能不是微服務。它們甚至不需要用容器來建造。即使現在沒有多少人使用Service Mesh,但是,我們相信它將在2018年快速流行起來。我們和容器行業的大多數人一樣,都想參與其中。現在,我們正在集中精力將Service Mesh技術集成到我們的產品中。 2、「雲原生應用(Cloud Native Application)」這個術語已經流行了好幾年。它的意思是開發出能在類似AWS這樣的雲上運行的應用,而不是在像vSphere或物理機集群那樣的靜態環境中運行。為Kubernetes開發的應用程序被定義為「cloud-native 」,因為現在所有的雲都可以使用Kubernetes。然而,我相信,世界已經準備好從cloud-native轉為Kubernetes-native。我知道有許多組織專門開發用於運行Kubernetes的應用程序。雖然這些應用程序並不僅僅使用Kubernetes作為部署平台,但是他們將數據保存在Kubernetes自己的etcd資料庫中;他們使用Kubernetes用戶資源定義(CRD)作為數據訪問對象;他們在Kubernetes控制器中編碼業務邏輯;他們使用Kubelets來管理分散式集群;他們在Kubernetes API伺服器上構建自己的API層;他們使用「kubectl」作為他們自己的CLI。 Kubernetes-native應用構建簡單,並且可以在任何地方運行,同時還支持大規模擴展。2018年,我們一定會看到更多的Kubernetes-native應用出現。 3、現在大多數人使用Kubernetes來部署他們自己的應用程序。沒有多少組織願意將他們的應用程序包交付到YAML files或Helm charts中。我相信這種情況即將改變。已經有很多現代軟體比如像TensorFlow這樣的AI框架都可以作為Docker容器獲取。在Kubernetes集群中很容易部署這些容器。幾個星期前,Apache Spark項目增加對Kubernetes的支持,將Kubernetes作為調度器。除了Mesos和YARN外,Kubernetes現在是一個很棒的大數據平台。我們預測,未來所有服務端軟體包都將作為容器分發,並使用Kubernetes作為集群管理器。2018年,即時可用的YAML files或Helm charts將會有大幅度的增長及應用。 回頭來看,2017年Kubernetes的增長遠遠超過了我們所有人在2016年底的預期。雖然我們預料到AWS能夠支持Kubernetes,但我們並沒有預想到service mesh和Kubernetes-native也會受到極大的關注。相信2018年會繼續給我們帶來許多意想不到的技術發展。我迫不及待地想知道!
本文首發於CSDN《程序員》雜誌。
梁勝:Kubernetes 已成為新的基礎設施標準
推薦閱讀:
※容器編排之Kubernetes安裝與配置
※[資料分享]kubernetes實踐指南
※kubernetes的網路實現
※梁勝關於容器的年終總結,沒再提Docker
TAG:Kubernetes |