Kubernetes 1.12全新發布!新功能亮點解析

Kubernetes1.12已於今日全新發布!Kubelet證書輪換、資源配額優先級、掛載命名空間、對Azure的加強支持等10大亮點功能,本文爲你一一解讀!node


Kubernetes 1.12已於今日全新發布。距離上一次1.11版本發佈三個月之隔,Kubernetes 1.12是今年的第三個主要版本。自從Kubernetes在2015年GA以後,它一直保持着每季度一次的更新頻率。git

2018年Kubernetes的幾回主版本更新github

不管您是使用Kubernetes的開發人員,仍是負責操做集羣的管理員,都應該瞭解一下Kubernetes 1.12中的新功能和問題修復。web

Kubernetes 1.12中包含38項功能。咱們來看看一些亮點。bootstrap

https://github.com/kubernetes...後端

Kubelet證書輪換服務器

Kubelet證書輪換功能現已進入beta狀態。這一功能能夠在當前證書到期時自動續訂密鑰和kubelet API服務器的證書。在官方1.12文檔發佈以前,您能夠在此處閱讀有關此功能的測試版文檔:網絡

https://github.com/kubernetes...app

網絡策略:CIDR選擇器和egress規則dom

有兩個之前的beta功能如今已經是stable狀態:其中一個是ipBlock選擇器,它容許根據CIDR表示法中的網絡地址指定ingress/egress規則。第二個則能夠經過指定egress規則來過濾離開pod的流量。如下示例說明了這兩個功能的使用:

egress和ipBlock之前都是beta功能,它們已經在Kubernetes官方的網絡策略文檔中了:

https://kubernetes.io/docs/co...

掛載命名空間傳播

掛載命名空間傳播,即掛載卷 rshared ,從而容器內的任何掛載都能反映在root(= host)掛載命名空間中,這一功能現已經是stable狀態。您能夠在Kubernetes卷文檔中閱讀有關此功能的更多信息:

https://kubernetes.io/docs/co...

按條件建立Taint Nodes

在Kubernetes1.8中,這一功能仍是早期alpha版本,如今此功能已升級爲beta。啓用它的featureflag,節點控制器能夠根據節點條件建立taints,並使調度器根據taints而不是條件來過濾節點。官方文檔在此:

https://kubernetes.io/docs/co...

具備自定義指標的水平pod自動伸縮器

雖然HPA中對自定義指標的支持一直是beta狀態,但1.12版增長了各類加強功能,例如能夠根據監控管道中的可用標籤選擇指標。若是您對基於Prometheus、Sysdig或Datadog等監控系統提供的應用程序級指標自動調整pod感興趣,我建議您查看 HPA中外部指標的設計方案:

https://github.com/kubernetes...

RuntimeClass

RuntimeClass是一個新的集羣範圍的資源,「它將容器運行時屬性表示到控制平面」。換言之,它可讓用戶經過提供PodSpec中的runtimeClass,選擇和配置(每一個pod)特定容器運行時(如Docker、RKT或Virtlet)。這一功能還處於早期alpha階段,更多信息能夠參閱此處:

https://github.com/kubernetes...

資源配額優先級

資源配額讓管理員能夠限制命名空間中的資源消耗。這一功能在多個租戶(用戶/團隊)共享集羣中的可用計算和存儲資源時尤爲實用。beta版的資源配額優先級容許管理員根據pod的PriorityClass,肯定配額範圍,從而調整命名空間內的資源分配。你能夠在這裏瞭解更多細節:

https://kubernetes.io/docs/co...

卷快照

Kubernetes 1.12中最使人的興奮的存儲功能之一,是持久性卷快照(儘管它還在alpha階段)。此功能容許用戶在任何CSI存儲提供商支持的特定時間點建立和恢復快照。這次更新添加了三個新的API資源做爲此功能的一部分:

  • VolumeSnapshotClass定義如何配置現有卷的快照;
  • VolumeSnapshotContent表示現有快照;
  • VolumeSnapshot容許用戶請求持久卷的新快照

下面是示例:

詳細信息可查看Github 上的1.12 文檔分支:

https://github.com/kubernetes...

拓撲感知動態配置

另外一個與存儲相關的功能,拓撲感知動態配置。這一功能在Kubernetes 1.11中初次引入,並在1.12中被提高爲beta狀態。它解決了在跨多個區域的集羣中動態配置卷的一些限制,其中單區存儲後端沒法從全部節點全局訪問。

對Azure的加強支持

在Kubernetes 1.12中,有兩項關於在Azure中運行Kubernetes的加強:

  • 集羣自動伸縮

Azure 的集羣自動伸縮器支持已升級爲穩定版。這將容許基於全局資源,自動擴展Kubernetes集羣中的Azure節點數。

  • Azure可用區支持

Kubernetes 1.12添加了Azure可用區(AZ)的alpha支持。可用區域中的節點將添加標籤 failure-domain.beta.kubernetes.io/zone=<region>-<AZ> ,併爲Azure託管磁盤存儲類添加拓撲感知配置。

更 多

Kubernetes 1.12包含許多bug修復和內部組件的改進,這次Kubernetes的更新明顯側重於穩定核心以及使現有的beta功能成熟。還有就是經過向項目CI管道添加更多自動化測試來提升發佈速度,包括爲項目測試工具添加了arm、arm6四、ppc6四、s390x和Windows平臺的CI e2e一致性測試。

關於Kubernetes 1.12的完整變化列表,固然是來閱讀發佈說明啦:

https://github.com/kubernetes...

Rancher做爲一個開源的企業級Kubernetes管理平臺,能夠統一納管全部雲上、全部發行版、全部Kubernetes集羣,解決了生產環境中企業用戶可能面臨的基礎設施不一樣的困境。同時,Rancher簡潔直觀的界面風格及操做體驗,將大大改善Kubernetes原生UI易用性不佳以及學習曲線陡峭的問題。

對於公有云提供商託管的Kubernetes集羣,只要特定的提供商支持,Rancher就會支持託管集羣上支持Kubernetes 1.12。而對於使用RKE(Rancher Kubernetes Engine)配置的集羣,將從Rancher 2.2開始支持。

相關文章
相關標籤/搜索