做者:1.15發佈團隊git
咱們很高興地宣佈交付Kubernetes 1.15,這是咱們2019年的第二個版本!Kubernetes 1.15包含25個加強:2個升級爲穩定,13個升級爲beta,10個升級爲alpha。此次發佈的主題是:github
持續改進web
可擴展性api
讓咱們深刻了解這個版本的主要特性:安全
圍繞customresourcedefinition的新開發的主題是數據一致性和原生行爲。用戶不該該注意交互是與CustomResource仍是與Golang-native資源進行的。隨着大的步驟,咱們在將來的版本之一正在努力向一個GA版本的CRD和GA的准入webhook。服務器
在這個方向上,咱們從新考慮了CRD中基於OpenAPI的驗證模式,從1.15開始,咱們根據「結構模式(structural schema)」的限制檢查每一個模式。這基本上強制了CustomResource中每一個字段的非多態( non-polymorphic)和完整類型(complete typing)。未來咱們將須要結構模式,特別是對於全部新特性,包括下面列出的特性,以及列出非結構(NonStructural)條件下的違規行爲。在v1beta1 API組中,非結構模式(non-structural schema)仍然保持工做狀態。可是任何嚴肅的CRD應用程序都應該在可預見的未來遷移到結構模式。網絡
關於什麼使模式結構化的詳細信息將在kubernetes.io的博客文章中在本週晚些時候發佈,固然Kubernetes的文檔中對此有記錄。數據結構
beta: CustomResourceDefinition Webhook Conversion
customresourcedefinition自1.14起做爲beta支持多個版本。使用Kubernetes 1.15,它們可以實時地在不一樣版本之間進行轉換,就像用戶長期習慣於從原生資源進行轉換同樣。CRD的轉換是經過webhook實現的,由集羣管理員部署在集羣內部。這一特性已在Kubernetes 1.15中升級到beta,將CRD提高到一個全新的水平,用於真正的CRD應用程序。app
beta: CustomResourceDefinition OpenAPI Publishing
kube-apiserver在/openapi/v2上爲原生類型提供OpenAPI規範已經有很長一段時間了,它們被許多組件使用,尤爲是kubectl客戶端驗證、kubectl explain和基於OpenAPI的客戶端生成器。框架
用於CRD的OpenAPI發佈將在Kubernetes 1.15做爲beta提供,一樣只適用於結構模式。
beta: CustomResourceDefinitions Pruning
修剪(Pruning)是自動刪除發送到Kubernetes API的對象中的未知字段。若是未在OpenAPI驗證模式中指定字段,則該字段是未知的。這是一個數據一致性和安全性相關的特性。它強制只將CRD開發者指定的數據結構持久化到etcd。這是原生資源的行爲,也將用於CRD,從Kubernetes 1.15的beta版開始。
修剪是經過CustomResourceDefinition中的spec.preserveUnknownFields: false激活。未來的apiextensions.k8s.io/v1 CRD變種將強制執行修剪(可能但明確必要的選擇退出)。
修剪要求CRD開發者爲CRD的全部版本提供完整的、結構化的驗證模式,要麼是頂層的,要麼是全部版本的。
alpha: CustomResourceDefinition Defaulting
customresourcedefinition得到默認支持。默認值是使用OpenAPI驗證模式中的default關鍵字指定的。在發送到API的對象中以及從etcd讀取時,爲未指定字段設置默認值。
default在Kubernetes 1.15中將做爲alpha提供,用於結構模式。
beta: Admission Webhook Reinvocation & Improvements
對於擴展Kubernetes API的項目來講,變異(mutating)和驗證(validating)准入(admission)webhook變得愈來愈主流。到目前爲止,按照字母順序,只調用了一次變異webhook。早期運行的webhook不能對鏈中稍後調用的webhook的輸出做出反應。隨着Kubernetes 1.15的發佈,狀況將發生變化:
經過指定reinvocationPolicy: ifNeeded,變異webhook能夠選擇至少一次從新調用。若是後面的變異webhook修改了對象,那麼前面的webhook將獲得第二次機會。
這要求webhook具備相似冪等(idempotent)的行爲,能夠處理第二次調用。
不打算添加另外一輪調用,這樣webhook的做者仍然必須當心對他們實現的已被認可的對象的更改。最後,調用驗證webhook來驗證所承諾的不變量是否已實現。
對準入webhook有更多更小的更改,特別是objectSelector,它將具備特定標籤的對象排除在准入以外,以及webhook服務器的任意端口(不只僅是443)。
使Kubernetes的安裝、升級和配置更加健壯是SIG Cluster Lifecycle在這個週期的主要關注點(請參閱咱們的社區近況)。跨裸金屬工具的Bug修復和生產就緒的用戶場景(如高可用性用例)在1.15中得到優先級。
集羣生命週期構建塊kubeadm繼續接收高效引導生產集羣所需的特性和穩定性工做。kubeadm將高可用性(high availability,HA)功能提高到了beta,容許用戶使用熟悉的kubeadm init和kubeadm join命令來配置和部署HA控制平面。已經專門建立了一個全新的測試套件,以確保這些特性在一段時間內保持穩定。
證書管理在1.15中變得更加健壯,kubeadm如今能夠在證書到期以前無縫地旋轉全部證書(在升級時)。有關如何管理證書的信息,請參閱kubeadm文檔。
在1.15中,kubeadm配置文件API從v1beta1遷移到v1beta2。
最後,讓咱們慶祝kubeadm如今有了本身的徽標!
在Kubernetes v1.15中,SIG Storage繼續工做,以支持將樹內卷插件遷移到CSI(Container Storage Interface,容器存儲接口)。SIG Storage致力於使CSI具備與樹內功能相同的特性,包括調整大小、內聯卷等功能。SIG Storage在CSI中引入了一些新的alpha功能,這些功能在Kubernetes存儲子系統中還不存在,好比卷克隆(volume cloning)。
卷克隆容許用戶在提供新卷時將另外一個PVC指定爲「數據源(DataSource)」。若是底層存儲系統支持此功能並在其CSI驅動程序中實現「CLONE_VOLUME」功能,則新卷將成爲源卷的克隆。
查看發佈說明以得到完整的值得注意的特性和修復列表。
Kubernetes 1.15能夠在GitHub上下載。要開始學習Kubernetes,請查看這些交互式教程。你還可使用kubeadm輕鬆地安裝1.15。
若是你有興趣更深刻地研究這些特性,請查看本週和下週的Kubernetes系列文章,其中咱們將重點介紹如下特性的詳細演練:
經過數百名提供技術和非技術內容的我的的努力,該版本得以發佈。特別感謝Pivotal Software高級技術項目經理Claire Laurence帶領的發佈團隊。發佈團隊中的38我的協調了發佈的許多方面,從文檔到測試、驗證和特性完整性。
隨着Kubernetes社區的發展,咱們的發佈過程展現了開源軟件開發中的協做。Kubernetes繼續快速得到新用戶。這種增加創造了一個積極的反饋循環,在這個循環中,更多的貢獻者提交代碼,建立一個更加活躍的生態系統。迄今爲止,Kubernetes已有超過3.2萬名我的貢獻者,活躍的社區有超過6.6萬人。
CNCF繼續改進DevStats,這是一個雄心勃勃的項目,旨在可視化項目中所包含的大量貢獻。K8s DevStats演示了來自主要公司貢獻者的貢獻的分解,以及一組使人印象深入的預配置報告,其中包括從單個貢獻者到拉請求生命週期時間的全部內容。過去一年,平均每個月有379家不一樣的公司和2715多名我的向Kubernetes捐款。查看DevStats瞭解更多關於Kubernetes項目和社區的整體速度。
全球性組織正在大規模地使用Kubernetes進行生產。最近公佈的用戶故事包括:
Kubernetes在幫助你的團隊嗎?與社區分享你的故事。
世界上最大的Kubernetes聚會,KubeCon + CloudNativeCon將於2019年6月24日至26日在上海(與開源峯會Open Source Summit共同舉辦)舉行,11月18日至21日在聖地亞哥舉行。這些會議將包括技術會議、案例研究、開發者深度開發、沙龍等等!今天註冊!
在7月23日上午10點(PDT時區)加入Kubernetes 1.15發佈團隊的研討會,瞭解這個版本的主要特性。在這裏註冊。
https://zoom.us/webinar/regis...
參與Kubernetes的最簡單方法是加入與你的興趣一致的許多SIG(Special Interest Groups,特殊興趣小組)之一。你有什麼想向Kubernetes社區廣播的嗎?在咱們每週的社區會議上分享你的聲音,並經過下面的渠道。感謝你不斷的反饋和支持。
Alibaba Cloud Hands-on lab:Kubernetes動手實踐課
AWS 容器服務技術開放日
Apache ServiceComb Meetup中國峯會
中國原創CNCF項目社區沙龍
Cloud Native Elite
持續交付峯會
DPDK2019中國峯會
Kubernetes貢獻者峯會
Huawei – Huawei LiteOS,豐富的端雲協同能力
開放數據自主管理迷你峯會
開放異構計算框架介紹
Serverless Is More & Cloud Native Meetup
Serverless Is More Hands-on Workshop
SOFAStack雲原生工做坊
CNCF (Cloud Native Computing Foundation)成立於2015年12月,隸屬於Linux Foundation,是非營利性組織。CNCF(雲原生計算基金會)致力於培育和維護一個廠商中立的開源生態系統,來推廣雲原生技術。咱們經過將最前沿的模式民主化,讓這些創新爲大衆所用。請長按如下二維碼進行關注。