Kubernetes 1.15:可擴展性和持續改進

做者:1.15發佈團隊git

咱們很高興地宣佈交付Kubernetes 1.15,這是咱們2019年的第二個版本!Kubernetes 1.15包含25個加強:2個升級爲穩定,13個升級爲beta,10個升級爲alpha。此次發佈的主題是:github

  • 持續改進web

    • 項目的可持續性不只僅是功能。許多SIG一直致力於提升測試覆蓋率,確保基本功能保持可靠,確保核心功能集的穩定性,並致力於成熟現有功能和清理積壓。
  • 可擴展性api

    • 社區一直要求繼續支持可擴展性,所以這個週期圍繞CRD和API Machinery進行更多的工做。這個週期中的大多數加強來自SIG API Machinery和相關領域。

讓咱們深刻了解這個版本的主要特性:安全

圍繞核心Kubernetes 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如今有了本身的徽標!

圖片描述

持續改善的CSI

在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 Core中支持go模塊
  • 繼續準備雲提供商的提取和代碼組織。雲提供商代碼已被轉移到kubernetes/legacy-cloud-providers,以便稍後更容易刪除和外部使用。
  • Kubectl get和describe如今可使用擴展
  • 節點如今支持第三方監控插件。
  • 調度插件有一個新的Alpha調度框架
  • ExecutionHook API用於在容器中觸發不一樣用例的hook命令,如今是Alpha。
  • 繼續棄用extensions/v1beta一、apps/v1beta1和apps/v1beta2 api;這些擴展將在1.16中退役!

查看發佈說明以得到完整的值得注意的特性和修復列表。

如何得到

Kubernetes 1.15能夠在GitHub上下載。要開始學習Kubernetes,請查看這些交互式教程。你還可使用kubeadm輕鬆地安裝1.15。

特性的博客系列

若是你有興趣更深刻地研究這些特性,請查看本週和下週的Kubernetes系列文章,其中咱們將重點介紹如下特性的詳細演練:

  • CRD的將來:結構模式
  • 介紹用於Kubernetes的卷克隆Alpha
  • Kubeadm自動化高可用性

發佈團隊

經過數百名提供技術和非技術內容的我的的努力,該版本得以發佈。特別感謝Pivotal Software高級技術項目經理Claire Laurence帶領的發佈團隊。發佈團隊中的38我的協調了發佈的許多方面,從文檔到測試、驗證和特性完整性。

隨着Kubernetes社區的發展,咱們的發佈過程展現了開源軟件開發中的協做。Kubernetes繼續快速得到新用戶。這種增加創造了一個積極的反饋循環,在這個循環中,更多的貢獻者提交代碼,建立一個更加活躍的生態系統。迄今爲止,Kubernetes已有超過3.2萬名我的貢獻者,活躍的社區有超過6.6萬人。

項目的開發速度

CNCF繼續改進DevStats,這是一個雄心勃勃的項目,旨在可視化項目中所包含的大量貢獻。K8s DevStats演示了來自主要公司貢獻者的貢獻的分解,以及一組使人印象深入的預配置報告,其中包括從單個貢獻者到拉請求生命週期時間的全部內容。過去一年,平均每個月有379家不一樣的公司和2715多名我的向Kubernetes捐款。查看DevStats瞭解更多關於Kubernetes項目和社區的整體速度。

用戶案例

全球性組織正在大規模地使用Kubernetes進行生產。最近公佈的用戶故事包括:

  • 中國聯通利用Kubernetes提升其資源利用率20-50%,下降IT基礎設施成本,並將部署時間從小時減小到10-15分鐘。
  • 蒙特利爾市使用Kubernetes將部署時間從幾個月減小到幾個小時,並在8臺機器上運行200個應用程序組件,其中5人操做Kubernetes集羣。
  • SLAMTEC使用Kubernetes和其餘CNCF項目,實現18個月以上的100%正常運行時間,節省50%的故障排除和調試時間,並節省30%的CI/CD工做時間。
  • ThredUP使關鍵服務的部署時間平均減小了約50%,並將部署的準備時間縮短到了20分鐘如下。

Kubernetes在幫助你的團隊嗎?與社區分享你的故事。

生態系統近況

  • Kubernetes最近在KubeCon + CloudNativeCon巴塞羅那慶祝了成立5週年
  • Kubernetes認證管理員(CKA)考試已經成爲迄今爲止最流行的Linux基金會認證之一,有超過9,000名註冊用戶和1700多人經過並得到了認證。
  • 在成功舉辦的2019年的KubeCon + CloudNativeCon歐洲峯會,CNCF宣佈擁有400多名成員,年增加率爲130%。

KubeCon

世界上最大的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社區廣播的嗎?在咱們每週的社區會議上分享你的聲音,並經過下面的渠道。感謝你不斷的反饋和支持。

  • 關注咱們的Twitter @Kubernetesio獲取最新消息
  • 加入社區討論Discuss
  • 在Slack上加入社區
  • 在Stack Overflow上發佈問題(或回答問題)
  • 分享你的Kubernetes故事

KubeCon + CloudNativeCon + Open Source Summit

圖片描述

大會日期:2019 年 6 月 24 至 26 日

活動邀請:門票有限,儘快報名

添加同場活動

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雲原生工做坊

購票註冊

  • 標準註冊:2400人民幣
  • 貴賓註冊:6000人民幣
  • 我的或學術註冊(僅邀請):600人民幣(須要發送電子郵件至events@cncf.io申請。請以英文書寫,主題說明參加本次中國大會,內容說明申請我的註冊,仍是學術註冊。申請獲批准將收到邀請碼。)

關於CNCF

CNCF (Cloud Native Computing Foundation)成立於2015年12月,隸屬於Linux Foundation,是非營利性組織。CNCF(雲原生計算基金會)致力於培育和維護一個廠商中立的開源生態系統,來推廣雲原生技術。咱們經過將最前沿的模式民主化,讓這些創新爲大衆所用。請長按如下二維碼進行關注。

相關文章
相關標籤/搜索