根據 Kubernetes Google Group 產品經理 Aperna Sinha 和 Kubernetes Mirantis 項目經理 Ihor Dvoretskyi 的說法,Kubernetes 1.7 中的 API aggregation 功能使用戶能夠在運行時添加自定義的 API 服務器,與 Kubernetes 默認的服務器同時運行。同時,extensible admission controllers, pluggable cloud providers, 和 container runtime interface (CRI) enhancements 也是發佈的亮點。
Kubernetes 1.7: 功能落地於商業應用node
不一樣於 Kubernetes 1.6 對規模和自動化的關注,Kubernetes 1.7 關注點集中在安全性、儲存和擴展性功能上——這一舉措是 Kubernetes 應用於企業環境中,並普遍使用的動力。數據庫
在 Kubernetes 1.7 中,安全性的改進包括,Encrypted secrets, network policy for pod-to-pod communication, node authorizer 限制 kubelet 訪問和 客戶端 / 服務端 TLS certificate rotation。安全
對於在 Kubernetes 上運行橫向擴展數據庫的用戶, Kubernetes 1.7 中的一個主要功能是向 StatefulSets 添加自動更新,並加強了 DaemonSets 的更新。 重大利好:新版本有了對本地存儲的 Alpha 支持和用於縮放 StatefulSets 的快速模式。服務器
在 Storage 方面的改善,基於 Volume 的優化,可令企業級應用獲得更爲標準化的管理;Network 隔離方面也有相應的改善。網絡
這說明 Kubernetes 已經從集羣功能擴展到對企業功能支持,並落地到企業產品安全性需求上面。這對 Kubernetes 在企業中的落地化可謂是一次質的飛躍。ide
根據 Kubernetes Google Group 產品經理 Aperna Sinha 和 Kubernetes Mirantis 項目經理 Ihor Dvoretskyi 的說法,Kubernetes 1.7 中的 API aggregation 功能使用戶能夠在運行時添加自定義的 API 服務器,與 Kubernetes 默認的服務器同時運行。同時,extensible admission controllers, pluggable cloud providers, 和 container runtime interface (CRI) enhancements 也是發佈的亮點。微服務
Kubernetes 1.7 新功能測試
Kubernetes 1.7 版本增長了安全性、有狀態的應用程序和可擴展性等功能。大數據
安全性加強功能包括加密的機密數據,Pod 與 Pod 之間通訊的網絡策略,節點受權器限制 Kubelet 訪問 API 資源以及 Kubelet 客戶端/服務器 TLS 證書輪換。
有狀態應用程序的主要功能包括 StatefulSets 的自動更新,DaemonSets 的加強型更新,用於更快的 StatefulSets 擴展的突發模式以及對本地存儲的支持。
可擴展性功能包括 API 聚合,Custom Resource Definition,有利於 Third Party Resources,支持可擴展容許控制器,可插拔雲提供商和容器運行時接口(CRI)加強功能。優化
網絡
NetworkPolicy 已從 extension / v1beta1 升級到新的 networking.k8s.io/v1 API 組。結構與 v1beta1 API 保持不變。Namespaces 中的net.beta.kubernetes.io/network-policy 註釋(用於選擇隔離)已被刪除。相反,隔離如今是以每一個 pod 爲基礎肯定的。 NetworkPolicy 能夠經過在其spec.podSelector 中包含該 pod 來定位一個 pod 來進行隔離。 Targeted Pods 接受相應 NetworkPolicy 中指定的通訊。默認狀況下,任何 NetworkPolicy 未定位的 pod 都接受全部通訊。
存儲
刪除 Alpha volume 配置,使用默認存儲類。
Portworx volume 驅動程序再也不須要在 master 上運行。
Cinder 存儲類中的默認行爲已更改。
hostPath volume 路徑或者 volumeMount 子路徑中包含父目錄引用(例如../bar)的 Pod Spec 必須更改成絕對路徑。 Backsteps 則再也不容許。
更多其餘新功能能夠點擊「閱讀原文」查閱。
Kubernete 實踐筆記
做爲 Kubernetes 的深度用戶及社區參與者,咱們在迎接 Kubernetes 1.7 發佈的同時會去思考其更深的意義。在有狀態服務層面,StatefulSet 的 Rolling Update 功能進入了 Beta,意味着咱們能夠更加「自信地」更新有狀態服務。固然,真正利用在生產上還須要咱們進行更加深刻的測試。另外一方面,本地存儲卷的功能使得咱們能夠將更多有狀態服務運行在 Kubernetes 上。
——才雲科技(Caicloud)CTO 鄧德源
才雲在 Kubernetes 企業化落地方面作了許多國內接地氣的工做,好比:基於 Kubernetes 的 CI/CD 、對 Image 支持的 Cargo,對便於建立 Kubernetes 微服務的模版,令 Kubernetes 使用更簡單,而且能更多地使用到基於 SaaS 層的應用。
他們計劃利用本地存儲功能將大數據的負載運行在 Kubernetes 內,包括對存儲的管理也運行在 Kubernetes 中。本地存儲卷管理與數據息息相關,在制定計劃時才雲傾向於保守,所以 Kubernetes 1.8 本地存儲依然會是 Alpha,可是才雲會從 1.7 版本開始嘗試本地存儲功能,並持續推進社區發展。
Kubernetes 1.7 的另外一個重點可擴展性,例如 API aggregation, extensible admission controllers 等。實際上,Kubernetes 的一個核心優點就在於可擴展性,此次的更新並不意外。才雲已是 Kubernetes 可擴展性的受益者,例如:才雲大量使用了 Kubernetes Thirdparty Resource (伴隨着 1.7 的發佈,須要遷移至 Custom Resoruce Definition) 管理內部資源,使用 Namespace Finalizer 進行資源清理,使用 External Scheduler 進行自定義調度管理等。