成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從 Kubernetes 1.14 發布,看技術社區演進方向

開發 開發工具
如果說以“不斷提升插件能力和可擴展能力”的 “基礎設施開源項目民主化”進程是 Kubernetes 在2017-2018年的核心主題的話,那么在2019年,這個技術社區的發展脈絡又是怎樣的呢?

如果說以“不斷提升插件能力和可擴展能力”的 “基礎設施開源項目民主化”進程是 Kubernetes 在2017-2018年的核心主題的話,那么在2019年,這個技術社區的發展脈絡又是怎樣的呢?

今天,阿里云高級技術專家張磊將從 Kubernetes 1.14 這個承前啟后的版本聊起,一窺技術社區的演進方向。

Kubernetes 1.14 正式發布已經過去了一段時間,相信你已經從不同渠道看過了各種版本的解讀。

不過,相比于代碼 Release,馬上就要迎來5周歲生日的 Kubernetes 項目接下來如何演進,其實也是一個讓人著迷的話題。而作為一個日趨成熟的開源生態,Kubernetes 項目每三個月一次的正式發布,其實正是這個高速發展的技術社區不斷向前演進的過程中留下的扎實腳印。

Windows 生態成為 Kubernetes 項目的一等公民

Kubernetes 對 Windows 生態的支持,自從這個項目發布起就被提上了日程。不過,作為一個純粹的 Linux 技術棧支撐的基礎設施開源項目,Windows 節點以及 Windows 容器支持真正取得實質性進展,還是要從 Kubernetes 項目的插件和可擴展能力在1.6版本后逐漸成熟之后才慢慢步入了正軌。這也很容易理解,Windows 體系與目前主流容器技術棧有著本質性的差異,這就要求 Kubernetes 項目必須能夠提供更高層次的抽象和可擴展能力以支持兩種迥然不同的技術棧,并且同現有的Kubernetes 生態比如 CNI 和 CSI 完成對接。這部分工作的復雜度和工作量,也是 Windows Node 的生產可用從1.13延期到1.14的主要原因。

而在這次1.14的發布中,Kubernetes 的 Pod,Service,應用編排,CNI 網絡等絕大多數核心能力都已經在 Windows 節點上得到了支持。此外,包括自定義監控指標、水平擴展、搶占和優先級調度等很多進階功能也都在 Windows 上得以實現。

目前,尚不能被支持的功能基本上都是在 Windows 上暫時無法實現的語義比如 Host Network 以及其它 Linux 內核專屬的資源和權限定義方式等。可以看到,Kubernetes 這次發布對 Windows 節點和 Windows 容器的支持,較之前相比有了巨大提升,完成度非常高,確實對得起 “GA”這個具備承諾意味的發布用語。

而國內外公共云提供商比如阿里云容器服務(ACK)也已經于近期已經推出了 Windows Container 的支持,提供了 Linux/Windows 應用混合部署的統一管理能力,再一次印證了這次發布的可用度。

不難看到,公共云提供商(比如本次Windows 支持GA背后的微軟云團隊)作為 CNCF社區的主要推動方之一,實際上一直在整個云原生技術生態中發揮著巨大的作用,逐步促成了將像 Windows 支持這樣的實際企業用戶訴求帶給了一個高速發展的、完全以 Linux 技術棧為核心的基礎設施項目。而在未來的發展中,諸如此類的來自于公共云提供商的輸入,將會繼續在 Kubernetes 項目發展的過程中扮演至關重要的角色,這也會成為更多的企業用戶能夠從云原生技術生態中獲益的一個重要途徑。這一點,將會繼續成為 Kubernetes 項目與其他基礎設施開源項目的根本不同。

Kubernetes 原生的應用管理能力嶄露頭角

在長期一段時間里,Kubernetes 的應用管理都是由 Helm 這樣的第三方項目或者上層 PaaS 來完成的。不過,在1.14之后,Kubernetes 項目本身開始具備了原生的應用管理能力,這其中最重要的一個功能,就是 Kustomize。

Kustomize 允許用戶以一個應用描述文件 (YAML 文件)為基礎(Base YAML),然后通過 Overlay 的方式生成最終部署應用所需的描述文件,而不是像 Helm 那樣只提供應用描述文件模板,然后通過字符替換(Templating)的方式來進行定制化。

而與此同時,其他用戶可以完全不受影響地使用任何一個 Base YAML 或者任何一層生成出來的 YAML 。這使得每一個用戶都可以通過類似 fork/modify/rebase 這樣 Git 風格的流程來管理海量的應用描述文件。這種 PATCH 的思想跟 Docker 鏡像是非常相似的,它可以規避“字符替換”對應用描述文件的入侵,也不需要用戶學習額外的 DSL 語法(比如 Lua)。

更為重要的是,上述PATCH 的思想,跟 Kubernetes 項目強調的聲明式 API 是完全匹配的,整個使用體驗跟 Kubernetes API 本身完全一致,沒有割裂感(大家可以思考一下為什么 PATCH 才是聲明式 API 的精髓)。

在1.14發布中,Kustomize 功能已經成為了 kubectl 的一個內置命令,這使得用戶使用 Kubernetes 的聲明式 API來直接在云端管理、修改和部署海量的應用成為了可能。并且,kubectl 本身的插件機制也在1.14中得到了大量完善,使得 kubectl 結合各種客戶端插件已經具備成為應用管理工具的潛在能力。而在這樣的演進路線下,Kubernetes 項目對應用以及應用管理的定義也開始清晰了起來,我們可以用如下一幅示意圖來簡單描述:

??

??

 

在這個 Kubernetes 原生的應用管理體系中,應用描述文件(YAML 文件)居于核心位置。一份應用描述文件,實際上是多個 Kubernetes API 對象的組合,共同定義了這個部署這個應用所需的資源編排和服務編排內容。一旦這樣一個描述文件提交給Kubernetes ,那么接下來它就會通過控制器模式來保證整個集群里的狀態與該描述文件的定義完全一致。

這些描述文件的來源,則來自于上層框架或者用戶的產出。更為重要的是,所有對應用的操作,都應該通過聲明式 API 對該文件進行 Create、Patch 和 Delete 操作來完成,進而觸發 Kubernetes 的控制器模型執行預定義的編排動作。

不難看到,在這個模型中,Helm 和 Kustomize 其實定義了兩種不同的應用描述文件的產出路徑和用戶體驗,也代表了兩種同 Kubernetes API 不同的耦合度和抽象程度:一個自成體系,一個則融入到了 Kubernetes的設計理念當中。在1.14發布之后,Kubernetes 社區當前正在探索的這種應用管理體系效果如何,我們不妨拭目以待。

大規模場景下的性能優化工作逐漸提上日程

熟悉 Kubernetes 項目的很多參與者可能都知道,在過去一段時間,Kubernetes 社區對于大規模場景下的性能優化工作的優先級大多不會非常高。這里的原因也比較容易理解,在一個基礎設施開源項目發展的早期,擴大生態和完善功能相比于支持更大的集群來說往往要更重要一些。

但在 Kubernetes 的主干功能日趨穩定之后,社區一定會開始更多地關注大規模場景下 Kubernetes 項目會暴露出來的各種各樣的問題,這其實依然容易理解:中小規模的用戶固然是整個項目取得生態成功的根本,但是通過 Kubernetes 這條路徑讓更多的沃爾瑪、星巴克、國內外的技術獨角獸們成為云原生技術的受益者,進而成為公共云上的規模性用戶,一定是 Kubernetes 社區要重點考慮的發展方向。

當然,作為一個天然處于“被集成”位置的基礎設施項目,Kubernetes 進行性能提升的主要方向,一定優先關注于與上層使用者關系最為緊密的 API 層以及客戶端使用場景。當然,這也與 Kubernetes 項目的架構關系緊密:聲明式 API 的設計圍繞著以 etcd 為核心的配置管理機制,使得 Kubernetes 項目天生就是一個重 API 層而輕調度的分布式系統。這也意味著當需要管理的配置信息(即:API 對象)數量巨大時,這一層也是最有可能的暴露出性能問題的領域。

所以,在 Kubernetes v1.14中,社區首先從面向最終用戶的角度做出了很多優化,比如: kubectl 對 API 對象的遍歷行為進行了大量的并行化工作。這種看似微小的修改在大規模場景下對 kubectl 使用者帶來的性能提升體驗,卻是非常顯著的。

當然,最重要的工作,還是發生在 APIServer 本身的性能優化上。比如,Kubernetes 的 Aggregated API 允許開發人員編寫一個自定義服務,并把這個服務注冊到 k8s 的 API 里面像原生 API 一樣使用。但是在這個情況下,APIServer 會將用戶自定義 API Spec 與原生的 API Spec 歸并起來,這是一個非常消耗CPU 的性能痛點。而在v1.14中,社區專門對這個操作的效率進行了細致的優化,終極將APIServer 歸并 Spec 的性能提升了十倍以上。

除此之外,Kubernetes 項目性能提升的另一個重要方向,就是對 etcd 到 APIServer 之間的連接路徑的優化和提升上。作為 Kubernetes 項目的配置中心,也是外部數據依賴,etcd 每一次提交操作的數據量和間隔大小,每一個連接的請求和響應周期,都有可能對最終 Kubernetes 項目在大規模場景下的性能表現產生影響。阿里巴巴的技術團隊在 etcd 項目的中一直在持續進行性能調優與提升工作并已陸續發布在了 etcd 的新版本當中。這些內容雖然不屬于 Kubernetes 1.14 發布的一部分,但同樣值得我們關注。

可擴展能力和項目穩定性持續提升

除了上述幾個領域在本次發布后逐步成為核心領域之外,Kubernetes 項目在過往一直比較重視的幾個核心方向,比如,可擴展能力的提升,項目穩定性等,依然是 Kubernetes 項目繼續演進的重要旋律。所以在 Kubernetes 1.14中,才會出現很多像“Pod Ready ++” 這樣將原本已經成熟的系統特性進一步重構成為可擴展接口的重要變更。在 Pod Ready ++ 正式發布后,Kubernetes 用戶只需要自己編寫一個外部控制器(Controller)就可以非常方便地自定義一個應用從創建到最終可用(Ready)的標準到底是什么,而不是被強迫遵守 Kubernetes 項目已有的定義方法。這種能力,同樣是基礎設施開源項目“民主化”的重要體現。

總結

Kubernetes 1.14的發布,在這個日趨成熟穩定的項目開源基礎設施項目的發展過程中有著重要的承前啟后的作用。所以我們會看到,Kubernetes 社區正在幾個以往并不太受關注的領域里開始持續發力,甚至有可能會進一步改變整個云原生社區在某些領域的發展方向。這種在日趨穩定的發展歷程中不時透露出來的技術革新,也正是這個社區能夠持續令人興奮的關鍵所在。

而放眼當前的云計算生態,國外越來越多的大規模企業級用戶比如 Snapchat、Twitter 等都已經開始了將自己的整套技術棧直接遷往以 Kubernetes 為基礎的公共云服務上,這正好印證了“云原生”這個關鍵詞的本質含義:在未來云的時代,軟件的開發、測試、發布、運維等完整的生命周期,都會基于云來進行。而所謂的“云原生”,其實正在通過一系列技術手段,為廣大開發者編制出了一幅能夠讓軟件天然的生長在云上、交付在云上,從而大程度地發揮出云的價值的技術藍圖。

更多關于云原生技術原理和實踐的內容,歡迎點擊文末“閱讀原文”關注阿里云和CNCF 官方聯合開發的免費公開課《CNCF x Alibaba 云原生技術公開課》:業內一線技術大咖為你剖析云原生技術核心原理與落地實踐,期待各位的學習與反饋。

參考資料:

??https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md??

【本文為51CTO專欄作者“阿里巴巴官方技術”原創稿件,轉載請聯系原作者】

 

??戳這里,看該作者更多好文??

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2023-08-28 16:10:00

容器化DockerKubernetes

2016-01-15 10:18:48

ces展望技術

2021-09-14 15:02:33

鴻蒙HarmonyOS優秀社區共建者

2014-03-19 10:42:56

UCloud拉勾手游

2009-10-19 15:55:59

2009中文IT專業技

2023-12-22 08:00:00

2017-05-08 13:27:04

互聯網

2013-07-22 09:43:47

視頻課程

2022-04-25 18:30:00

技術

2022-03-04 12:01:06

架構師互聯網業務

2011-12-13 14:16:34

Citrix

2012-12-11 14:55:29

技術社區

2013-07-11 11:38:32

社區在線教育51CTO

2022-02-25 08:42:10

微隔離零信任網絡安全

2010-01-15 09:43:57

2020-04-03 13:12:09

函數架構 Serverless

2016-04-08 12:12:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区在线观看 | 欧美日韩久| 国产精品爱久久久久久久 | 国产精品高潮呻吟久久aⅴ码 | 亚洲精品一区二区在线观看 | 羞羞视频免费观看 | 久久精品福利视频 | 亚洲成人一二区 | 中文字幕在线一 | 国产亚洲精品精品国产亚洲综合 | 91精品久久久久久久 | 成人免费片 | 成人在线精品 | 日韩av福利在线观看 | 亚洲午夜网 | 亚洲激情视频在线 | 国产成人av一区二区三区 | 99在线观看| 日韩一及片| 超碰97人人人人人蜜桃 | 成人一区二区三区在线观看 | 久久精品国产99国产 | 日本不卡一区二区三区在线观看 | 免费午夜剧场 | www.黄色片视频 | 天天操夜夜骑 | 午夜免费av | 天天爽综合网 | 国产激情视频在线 | 日韩美香港a一级毛片免费 国产综合av | www97影院| 国产伦精品一区二区三区高清 | 九九99九九精彩46 | 亚洲精品免费视频 | 成人精品视频在线 | 午夜看电影在线观看 | 久久久久久国产精品免费 | 中文字幕日韩在线观看 | 国产精品1区2区 | 亚洲视频免费观看 | a在线视频 |