即將發佈的Kubernetes 1.13有哪些新功能?

Kubernetes配置管理

動態審計配置(alpha)

https://github.com/kubernetes/enhancements/issues/600

Kubernetes審計配置功能允許使用webhook將審計事件轉發到遠程API。 從Kubernetes 1.13版本開始,用戶可以設置動態審計後端,以支持在運行時推送AuditSink API對象(遠程端點)。可以使用Falco檢查Kubernetes審覈事件。

支持自定義資源的webhook轉換(alpha)

https://github.com/kubernetes/enhancements/issues/598

在版本1.13之前,可爲Resource Custome Define(RCD) 定義多個版本,只要所有版本使用相同的模式(即,如果添加了新字段,則需要在所有版本中添加)。 現在,不同的CRD版本可以有不同的模式,可以定義轉換webhook來處理更新。

API服務器dry-run(alpha到beta)

https://github.com/kubernetes/enhancements/issues/576

dry-run模式可以模擬真實的API請求,在不修改實際狀態的情況下查看請求是否成功(准入控制器鏈,驗證,合併衝突…),或者會發生什麼。請求響應的主體應儘可能接近非dry-run模式。此模式的核心功能是啓用其他用戶級功能,如kubectl diff子命令。

kubectl diff命令(alpha到beta)

https://github.com/kubernetes/enhancements/issues/491

使用kubectl diff命令可以預覽kubectl apply`命令對羣集所做的變更。 這個命令的功能在於方便查看,這爲集羣的operator的日常工作提供了很方便的操作。需要的是注意,該命令要在API服務器上啓用dry-run功能時才能生效。

簡化Kubernetes集羣創建(beta到穩定)

https://github.com/kubernetes/enhancements/issues/11

此功能涵蓋了kubeadm的總體用例,並簡化了Kubernetes集羣的創建流程。該功能不是Kubernetes 1.13版本獨有的,但是在此版本中將有一些文檔上的改進,改進的地方包括kubeadm init使用中的不同階段,kubeadm alpha的新子命令或者是在部署示例中包含的CoreDNS等。

Kubernetes核心組件

基於taint的驅逐 (alpha到beta)

https://github.com/kubernetes/enhancements/issues/166

基於taint的驅逐在Kubernetes 1.13中將從α狀態轉變爲β狀態。 當啓用此功能時(在-feature-gates中,設置TaintBasedEvictions = true,),NodeController(或kubelet)會自動添加taint,並且禁用基於Ready NodeCondition從Node中驅逐pod的前一邏輯。

配置調度器對集羣節點的子集進行評分(alpha到beta)

https://github.com/kubernetes/enhancements/issues/593

在Kubernetes 1.12之前,kube-scheduler需要檢查集羣中所有節點的可行性,然後對可行節點進行評分,選擇評分最高的節點來運行pod。現在,可以對Kubernetes調度器進行配置,僅考慮一定百分比的節點,只要在配置的集合中能找到足夠的可行節點即可。 這提高了調度器在大規模集羣中的性能。

更新kubectl的插件機制(alpha到beta)

https://github.com/kubernetes/enhancements/issues/579

kubectl支持擴展添加新的子命令或覆蓋現有的子命令,支持kubectl主要發行版中未包含的新功能和自定義功能。此存儲庫提供了一個很好的擴展示例。

將頻繁的Kubelet心跳移至Lease API(alpha)

https://github.com/kubernetes/enhancements/issues/589

在1.13之前的Kubernetes版本中,NodeStatus是Node的心跳。 此版本引入了節點租約 (node-lease),這是一種更輕量,可擴展性更好的心跳指示器。節點租約經常更新,而NodeStatus僅在出現變更或一定時間段以後才從節點報告到主節點。

硬件支持

支持第三方設備監控插件(alpha)

https://github.com/kubernetes/enhancements/issues/606

爲了監控設備插件提供的資源,監控代理需要能夠發現節點上正在使用的設備集,並獲取元數據以描述該指標應該與哪個容器相關聯。 kubelet現在提供gRPC服務(PodResources)來啓用此功能。 對“PodResources服務”的支持仍處於alpha狀態。

存儲

通過持久化卷源使用原始塊設備(alpha到beta)

https://github.com/kubernetes/enhancements/issues/351

默認情況下,在Kubernetes 1.13上啓用BlockVolume,只需將volumeMode的值設置爲block即可訪問原始塊設備。在沒有文件系統抽象的情況下使用原始塊設備可允許Kubernetes爲需要高I / O性能和低延遲的高性能應用程序(如數據庫)提供更好的支持。

爲FlexVolume添加調整大小的調用支持,以支持類似LVM擴展的卷大小調整(alpha)

https://github.com/kubernetes/enhancements/issues/304

PVC大小調整最初是在Kubernetes 1.8中引入的。 此後,一些卷插件已經能支持此功能。1.13版本能支持FlexVolumes。如果你正在使用FlexVolume並且底層驅動程序支持該操作,現在只需更新Kubernetes中的PVC即可擴展PV。

添加對Kubernetes樹外CSI卷插件的支持(beta到穩定版)

https://github.com/kubernetes/enhancements/issues/178

容器存儲接口 (Container Storage Interface)是將任意存儲系統暴露給Kubernetes容器化工作負載的規範。目前,Kubernetes卷插件在樹內,這意味着它們與核心Kubernetes二進制文件進行鏈接,編譯,構建和一起發佈。在1.13版本中,該功能已經穩定,並允許第三方供應商創建和分發(Kubernetes樹外)CSI 卷插件。

使調度器能感知pod內卷的拓撲約束(beta到穩定)

https://github.com/kubernetes/enhancements/issues/490

此功能允許設置控制卷的調度位置,可以啓用本地卷綁定,還可用於將卷與特定拓撲區域耦合。該功能在之前的Kubernetes版本中有所體現,但在1.13 版本中已逐漸穩定。

Kubernetes與雲端集成

AWS ALB ingress 控制器(alpha)

https://github.com/kubernetes/enhancements/issues/629

這是一項備受歡迎的功能,只要爲集羣配置了AWS集成憑證,就可以通過按需配置AWS ALB來滿足Kubernetes ingress資源。

亞馬遜彈性塊存儲 CSI 驅動程序(alpha)

https://github.com/kubernetes/enhancements/issues/630

亞馬遜彈性塊存儲(Amazon Elastic Block Store) CSI驅動提供CSI接口來管理EBS卷的生命週期。驅動程序仍處於alpha狀態,1.12之前的版本不支持該功能。 可以使用的基本卷操作包括:CreateVolume / DeleteVolume,ControllerPublishVolume / ControllerUnpublishVolume,NodeStageVolume / NodeUnstageVolume,NodePublishVolume / NodeUnpublishVolume和Volume Scheduling。

外部AWS CCM(alpha)

https://github.com/kubernetes/enhancements/issues/631

cloud-controller-manager (雲控制器管理器,CCM)是嵌入雲控制循環的守護進程。雲供應商和Kubernetes的開發和發佈速度不同,將特定於雲供應商的代碼抽象爲雲控制器管理器二進制文件能夠讓雲供應商獨立發展。AWS雲控制器管理器在Kubernetes 1.13版本中首次亮相。

Azure可用區(alpha到beta)

https://github.com/kubernetes/enhancements/issues/586

Kubernetes 1.12版本增加了對Azure可用區(AZ)的支持。 可用區中的節點可通過failure-domain.beta.kubernetes.io/zone=<region> - <AZ>標籤添加,併爲Azure託管的磁盤存儲類添加拓撲感知配置。此版本中對Azure可用區的支持已經從alpha階段到了beta階段。

支持Azure跨資源組節點(alpha到beta)

https://github.com/kubernetes/enhancements/issues/604

Kubernetes 1.12版本增加了對Azure序中的跨資源組(resource group)節點和非託管(例如本地)節點的支持。該版本中對跨越資源組節點的支持已經從alpha階段到了beta階段。

棄用

刪除對etcd2的支持

https://github.com/kubernetes/enhancements/issues/622

此版本中刪除了所有對etcd2的文檔引用和支持。

參考鏈接:

https://sysdig.com/blog/whats-new-in-kubernetes-1-13/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章