Kubernetes 1.14 正式發佈,Windows節點生產級支持!

Kubernetes 1.14現已正式發佈,這是Kubernetes在2019年的首次更新!git

Kubernetes 1.14由31個加強功能組成:10個功能現進入Stable階段,12個功能進入Beta測試階段,還有7個全新新增功能。Kubernetes 1.14的主題是「可擴展性」,相較於此前發佈的任何Kubernetes版本,此版本擁有最多的進入Stable階段的加強功能。github

這次新版的最重大更新無疑爲對Windows節點的生產級支持。除此以外還有Kubectl、Persistent Local Volumes、PID限制等等的更新,下文中咱們將逐一道來。數據庫

Windows節點的生產級支持安全

隨着Kubernetes 1.14的發佈,Kubernetes中的Windows節點支持現已處於Beta測試階段,用戶能夠更多地進行實驗,進一步體驗到「Kubernetes for Windows容器」的價值。網絡

Kubernetes如今正式支持將Windows節點添加爲工做節點,並能夠調度Windows容器。龐大的Windows應用程序生態系統,如今也可以利用Kubernetes平臺的強大功能了。同時使用Windows應用程序和Linux應用程序的企業,沒必要再尋找兩種單獨的編排方案來分別管理其Windows和Linux工做負載, 整個部署的運營效率都能獲得極大提升。app

這次更新,Kubernetes中的Windows容器支持的主要功能包括:分佈式

  • 工做節點和容器可使用Windows Server 2019性能

  • 使用Azure-CNI、OVN-Kubernetes和Flannel支持樹外網絡鏈接測試

  • 改進了對pod、服務類型、工做負載控制器和指標/配額的支持,以便與Linux容器提供的功能緊密匹配優化

在Kubernetes Windows網絡鏈接方面,目前支持的Azure-CNI、OVN-Kubernetes和Flannel三種網絡插件中,Azure-CNI只能在Azure使用,OVN-Kubernetes須要硬件支持,於是大多數用戶都會使用Flannel,Flannel也是社區主推的網絡插件。Flannel對Windows的支持是Rancher Labs的工程師Frank Mai實現的,他對Windows網絡支持的貢獻包含兩個方面,一個是對CNI的支持,包括win-bridge和win-overlay,以及meta/flannel的支持;另一方面是對Flannel的Windows支持。

Rancher Labs工程師Frank是Windows Flannel網絡的主要貢獻者

Kubectl 的重要更新

全新的Kubectl文檔和Logo

kubectl的文檔已經從頭開始重寫,重點關注於使用聲明性Resource Config來管理資源。該文檔已以獨立書籍格式、做爲獨立站點發布,其格式爲書籍,連接可從k8s.io文檔得到:

https://kubectl.docs.kubernetes.io。

同時,kubectl擁有了新的徽標和吉祥物(發音爲kubee-cuddle):

Kustomize集成

用戶如今能夠經過-k標誌(例如apply、get等命令)和kustomize子命令,在kubectl中得到kustomize的聲明性資源配置建立功能。Kustomize使用Kubernetes原生概念幫助用戶建立和重用Resource Config。用戶如今可使用kubectl apply -k dir /將目錄與kustomization.yaml一塊兒應用於集羣。 用戶還能夠直接向stdout發出自定義的資源配置,而無需再經過kubectl kustomize dir /才能應用它們。 新功能均可以在文檔中進一步查看:https://kubectl.docs.kubernetes.io

kustomize子命令將繼續在Kubernetes所擁有的kustomize repo中開發。最新的kustomize功能將以獨立的kustomize二進制文件形式(發佈到kustomize repo)、以更頻繁的節奏進行發佈,並將在每次Kubernetes發佈以前在kubectl中更新。

kubectl插件機制逐邁入Stable狀態

kubectl插件機制讓開發人員能夠以獨立二進制文件的形式發佈本身的自定義kubectl子命令。開發人員可使用新的更高級的功能和額外的porcelain(例如,添加set-ns命令)來進一步擴展kubectl了。

插件必須具備kubectl-名稱前綴並存在於用戶的$ PATH中。 這次GA,插件機制已經大大簡化,而且和git插件系統相似。

Persistent Local Volumes現已GA

Persistent Local Volumes功能現已邁入Stable狀態,用戶可使用本地鏈接存儲來做爲持久卷源。持久化本地存儲的最主要用例是分佈式文件系統和數據庫,主要是因爲性能和成本的緣由 。在雲提供商上,本地SSD與遠程磁盤相比擁有着更好的性能。在裸機上,除了性能以外,本地存儲一般也更便宜,而且使用它是配置分佈式文件系統的必要條件。

PID限制已邁入Beta階段

進程ID(PID)是Linux主機上的基本資源。在其餘資源還沒有達到最大限制值的狀況下,大多數用戶並不但願由於達到任務限制而致使主機不穩定。管理員須要一些機制來確保用戶pod不會致使PID耗盡,由於PID耗盡會阻止主機守護進程(如runtime、kubelet等)運行。此外,在pod之間限制PID,以確保它們對節點上的其餘工做負載不會形成太大影響,這一點是很重要的。

管理員如今能夠經過默認每一個pod的PID數量來提供pod-to-pod的PID隔離,這一功能已經是Beat狀態。此外,管理員還能夠經過可分配的節點爲用戶pod保留大量可分配的PID,從而將節點到pod的PID隔離做爲alpha功能啓用。在Kubernetes的下一個新版本中,該功能有望轉爲Beta版。

其餘值得關注的功能更新

Pod優先級與搶佔機制:這一功能使Kubernetes調度程序可以首先調度更重要的Pod,當集羣資源不足時,它會刪除不過重要的pod,以便爲更重要的Pod建立空間。Pod的重要性由優先級指定。

Pod Readiness Gates:爲pod的準備就緒提供了外部反饋的擴展點。

增強默認的RBAC discovery clusterrolebindings:從API集中移除discovery,如今默認狀況下再也不容許進行未經身份驗證的訪問,從而提升CRD的隱私性以及默認集羣的默認安全狀態。

下載使用Kubernetes 1.14

Kubernetes 1.14包含的有所功能更新,請查看Release Notes:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md#kubernetes-v114-release-notes

你能夠在GitHub上下載使用全新的Kubernetes 1.14:

https://github.com/kubernetes/kubernetes/releases/tag/v1.14.0

Rancher做爲一個開源的企業級Kubernetes平臺,能夠統一管理全部雲上、全部發行版、全部Kubernetes集羣。優化簡潔的UI,簡單易用的操做體驗,同時還擁有集成的CI/CD、監控、日誌、RBAC等等加強功能,是企業落地Kubernetes的不二之選。Rancher將在四月發佈的Rancher 2.2.1版本將添加對Kubernetes 1.14的支持,敬請期待!

後續咱們還將分享更多有關Kubernetes 1.14中Windows容器及網絡的技術文章,記得保持關注喲

相關文章
相關標籤/搜索