當前位置:
首頁 > 科技 > K8s 編排一切:數據中心已征服,虛擬機、大數據、機器學習將俯首稱臣

K8s 編排一切:數據中心已征服,虛擬機、大數據、機器學習將俯首稱臣

作者:Scott Fulton III是一名資深科技記者、編輯、作家和教育家,先後出過17本書,寫過無數文章。

自定義資源定義(Custom Resource Definitions,CRD)聽起來不僅平淡無奇,還像是地下城主給角色扮演派對帶來的角色。但是如果CRD能夠吸引數據中心,虛擬機、大數據和機器學習可能很快會發現它們在這個新的開源霸主面前俯首稱臣。

2019年第三個官方版本Kubernetes版本1.16的正式版已於周三晚上發布。一個引人入勝的新問題隨之而來:企業數據中心基礎設施的每一個部分(不僅僅是那些新穎的容器,還有虛擬機、「大數據」平台以及機器學習框架)都最終會變成由Kubernetes加以編排嗎?Kubernetes這個產品最初起源於谷歌需要整治混亂局面。

我們已經看到Kubernetes迅速幹掉了Docker公司。自這家公司力求在開源社區夯實其江湖地位那一天起,Linux基金會旗下的合作機構雲原生計算基金會(CNCF)就為自己搭了一個更大的舞台,積極引領容器浪潮。

在這期間的幾個月里,Kubernetes融入到了涉及伺服器端軟體部署和管理的幾乎每個開源和商業平台項目。Red Hat被IBM斥資340億美元收購之前,重新調整了OpenShift平台。(Red Hat生產一款知名的企業級Linux平台,但IBM已經有一款。)Mesosphere自家的DC/OS平台是圍繞老牌的Apache Mesos工作負載編排平台構建的,與微軟建立了強大的合作夥伴關係,但它迅速遠離Mesos,甚至將公司改名為D2IQ。

著名畫家彼得?保羅?魯本斯在1635年創作的《海神征服暴風雨》

Kubernetes在數據中心站穩了腳跟,它果真會從數據中心擴大到其他領域嗎?有了版本1.16,這款編排系統的一個頗具影響力的新組件已正式告別開發階段。該組件很快讓用戶需要從公共雲獲得的服務(資料庫、個人定位器、流媒體、汽車驅動程序和跨國公司的會計系統)可以自動自行組裝,可能用戶甚至渾然不覺。雖然Kubernetes現在已牢牢確立了作為使用「容器」的環境的編排系統這個地位,一項最近備受重視的功能將使Kubernetes有能力編排幾乎其餘一切資源。容器是在伺服器集群中加以處理的緊縮套裝功能單位,不過名字取得很差。

未來在於CRD

CNCF的執行董事Dan Kohn在接受IT外媒ZDNet採訪時說:「我認為,Kubernetes渴望會變得無聊乏味(言外之意:遍地開花),因為它會融入到各個地方,有點像假定的默認技術,就像Linux那樣,我覺得這個願景多半會實現。」

Jared Rosoff是VMware最近宣布的Project Pacific的產品管理高級主管,他在本月初的VMworld 2019大會期間解釋:「Kubernetes擁有自定義資源定義、控制器和operator等概念,這些概念讓我們得以為Kubernetes添加新的對象類型。於是我們想,如果我們使用Kubernetes的這個方面來構建一種新的雲平台,將會怎麼樣?如果我們使用同樣這種預期狀態模式來管理Kubernetes集群、虛擬機[VM]、Serverless應用程序和資料庫,將會怎麼樣?」

Rosoff在這裡談論的是什麼?Kubernetes編排系統已經從配置管理領域借鑒了一個關鍵部分,具體來說是像Puppet和Ansible這樣的聲明式風格:它讓應用程序可以指定需要從託管它的數據中心基礎設施獲得什麼樣的資源。這個規範是一種聲明,這就是為什麼我們說Puppet及其他工具使用聲明式風格。它只需列出需求,把提供儘可能多的那些資源這項任務交給編排系統,而不是像傳統腳本通常所做的那樣,編寫一套明確的指令來規定如何組裝和配置這些資源。

以Kubernetes為例,這就如同只要為其編寫腳本,就能夠創建整個伺服器網路。設想一下:編劇只需編寫劇本,把按劇本拍電影這項任務交給某家後端服務提供商。

但這是Kubernetes一開始(不是很久以前)就擁有的一項功能。CRD今天已成為官方組件,它清楚地表明了這整個概念:Kubernetes組裝的是什麼、用於何種目的。它使得Kubernetes編排系統可以配置第一代虛擬機,取代了傳統vSphere控制台上涉及眾多步驟的流程,還通常需要擁有通過VMware官方認證的技能的IT操作人員。

Rosoff繼續說:「如果我想要一個Kubernetes集群,編寫了Kubernetes風格的聲明性狀態文檔,文檔稱『我想要有一個擁有五個節點的Kubernetes集群,運行版本1.15,將會怎麼樣?如果我想要一個虛擬機,編寫了Kubernetes風格的聲明性狀態文檔,文檔稱『我想要運行擁有這麼多CPU和這麼多內存的這個設備映像,將會怎麼樣?如果我想要一個資料庫,可以說『我想要有一個MySQL資料庫實例,有這麼多內存和這個版本的MySQL,將會怎麼樣?』我們可以在Kubernetes中做到這一點,我們已經做到了。」

對於為Kubernetes項目貢獻代碼的開源開發人員而言,CRD概念存在已有一段時間。就在兩年前,CRD作為1.7版本中的一個beta測試版組件,首次在公眾面前亮相。那時候,谷歌工程師Tim Hockin在接受IT外媒The New Stack採訪時向我解釋,他和其他貢獻者認為Kubernetes正在演變成一個「生態系統中心」。換句話說,它沒必要總是關注Docker式樣的容器,只要「資源」被抽象地定義,更是如此。Kubernetes可能會成為「資源編排系統」,每個數據中心的職責就是確定這個資源在各自獨特的環境下的具體含義。

自定義控制

從Jared Rosoff的描述來看,這似乎幾乎就是正變成現實的一幕,至少在VMware是這樣。在Kubernetes的架構中,一個名為控制器的組件監控系統的活動狀態,並負責確保該狀態儘可能接近每個運行中工作負載的「預期狀態」。換句話說,控制器負責滿足每個工作負載的要求。這些要求通常按照可用資源來加以指定——工作負載需要履行其功能的組件。如果Kubernetes在管理Hadoop集群而不是容器集群,它就需要為新的環境重新定義「資源」。這就是CRD的作用。

自定義資源要在這個新的環境下可供使用,必須添加自定義控制器。Kubernetes稱這些專用組件為operator;是的,這個名稱讓人一頭霧水,因為IT部門的人員也叫「operator」。但正如最近更新的Kubernetes文檔表明,這正是問題的關鍵。編排系統中的operator在非自動化環境下實際上做的是要求人員做的工作。

CNCF的Dan Kohn提到Kubernetes變得無處不在、無聊乏味後會發生什麼這個問題時說:「我認為,大家可能期望,上游會出現創新和令人興奮的動向。可能是服務網格,也可能是一些身份驗證技術,或者是人們為之興奮的operator這整個方面——資料庫管理員做的許多事情,比如升級、安全和調優,你可以把這些做入到軟體中,讓operator為你運行資料庫,幾乎就像以前僱用DBA一樣。」

Kubernetes使這項任務:將容器部署到託管平台上實現自動化後,手動部署那些容器的工作幾乎不存在。在CoreOS(現在隸屬IBM旗下的Red Hat)和Pivotal(現在隸屬Dell旗下的VMware)等供應商為自己實現自動化之前,IT部門還不得不全面了解這項技能。但資料庫管理員對於日常工作中相對缺乏自動化再熟悉不過了,這可能是近幾個月對大數據的熱情暫時消失的一部分原因。Kohn表示,在CRD的幫助下,被視作針對數據中心一個方面的出色升級的這同一項新功能可能會在其他地方掀起革命,包括企業管理員為員工配置服務的方式。

在6月於上海舉行的CNCF贊助的一次大會上,Pivotal的兩位工程師Ed King和Sam Gunaratne上台描繪了一個虛構的、不過令人印象深刻的畫面:Kubernetes藉助CRD使它通常無法實現自動化的某些東西實現自動化:家裡的燈、鎖和恆溫器。不,這不是基於容器的物聯網控制器的編排,而是使用Kubernetes API來實現夜間自動開燈、鎖門以及調高或調低溫度。這並非不可能——如果自定義控制器(其他Kubernetes工程師稱之為「operator」)與這些家用電器直接聯繫起來,並非不可能。

在這個假想的世界中,清單(manifest)可以聲明房主希望管理兩隻燈泡的亮度狀態。專用於燈光的控制器可以將當前狀態與期望狀態進行比較,如果這是清單為這些燈泡聲明的狀態,它就會激活讓滅掉的燈泡亮起來所必需的一系列事件。

這時候變得有意思起來:如果這個假設系統中的控制器有辦法彼此聯繫,針對恆溫器的控制器也許能夠與控制器共享詳細信息,比如一天中的時間。然後可以使用燈光控制器,而決策工具表明何時運用該預期狀態最合適。不像物聯網中控制器和設備之間典型的一對一關係,編排系統將充當智能中心。

如果這一切聽起來讓科技出版物覺得太過乏味、激動不起來,不妨設想一下兩隻家用燈泡與整座城市的交通信號燈系統之間在規模上的差異。自定義控制器的自動化包括共享狀態的功能,它會帶來更智能、更順暢的交通模式。簡化諾基亞電話平台的同一邏輯可以用來簡化市中心的交通流量。

VMware的Rosoff說:「這樣一來,我們對於開發人員/用戶與我們的雲進行交互的體驗的認識完全發生了改變。如果你想想這方面有什麼替代方法,有OpenStack之類的替代方法。OpenStack給人的感覺不像是我們數據中心的未來。」

如果你稍加留意的話,會發現你聽到的為OpenStack混合雲平台所敲的那口鐘(Jared Rosoff剛敲響了這口鐘)正是為Mesos所敲的同一口鐘。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

1.1 億元、貴港市覃塘區智慧城市單一來源:中科曙光
思科固件嵌入華為私鑰