Kubernetes更新,33項新增功能,12項成穩(wěn)定版本
盡管Kubernetes的最新版本的發(fā)布有些延遲,但新的Kubernetes 1.19版正式發(fā)布,并進行了一些更新來增強Kubernetes的生產(chǎn)就緒能力。新的改進包括Ingress和seccomp功能的普遍可用,安全性改進,比如對TLS 1.3支持等等。而且從從Kubernetes 1.19版本開始,支持周期將正式延長為一年。來一起了解下Kubernetes 1.19的變化。

Ingress和seccomp普遍可用
Ingress最初是作為Kubernetes 1.1測試版的API引入的。該特性允許用戶控制對集群中服務(wù)的外部訪問,以公開HTTP和HTTPS路由。它還可以幫助管理負載均衡、終止SSL/TLS并提供基于名稱的虛擬主機功能。要使Ingress資源發(fā)揮作用,必須使用一個Ingress控制器。Kubernetes目前支持和維護GCE和nginx控制器。
在版本1.19中,Ingress升級為通用版本,并被添加到networking v1 api中。這次更新帶來了v1 Ingress對象中的一些關(guān)鍵更改,包括模式和驗證更改。
seccomp(安全計算模式)升級到了普遍可用。seccomp是Linux內(nèi)核中的一個安全工具,它限制了應(yīng)用程序可以進行的系統(tǒng)調(diào)用的數(shù)量。它最初是在1.3版本中作為Kubernetes特性引入的,但有一些限制。以前,在將seccomp概要文件應(yīng)用到pods時,需要在PodSecurityPolicy上添加注釋。
在此版本中,seccomp引入了一個新seccompProfile字段,該字段添加到了pod和容器securityContext對象中。為了確保Kubelet向后兼容,將以優(yōu)先級順序執(zhí)行seccomp配置文件:特定容器字段,
特定容器注釋,Pod-wide字段,Pod-wide注釋。
在這次更新中,pod沙箱容器還配置了一個單獨的運行時/默認seccomp配置文件
支持TLS 1.3
Kubernetes 1.19版本增加了對新的TLS 1.3密碼的支持,可以與編排一起使用。
引入節(jié)點調(diào)試
Kubernetes 1.19引入了該kubectl alpha debug命令,現(xiàn)在可以在alpha中使用。這個命令將在主機OS名稱空間中創(chuàng)建并運行一個新的pod,以排除節(jié)點故障。用戶現(xiàn)在可以檢查正在運行的pod,而不必重新啟動它。此外,用戶不再需要進入容器本身來檢查系統(tǒng)或初始化操作,比如調(diào)試實用程序或來自pod網(wǎng)絡(luò)名稱空間的初始網(wǎng)絡(luò)請求。這種增強消除了節(jié)點維護和調(diào)試對SSH的依賴
結(jié)構(gòu)化日志
在1.19版本之前,Kubernetes控制平面中的日志記錄功能無法保證日志消息以及日志內(nèi)對于各Kubernetes對象的引用保持統(tǒng)一的結(jié)構(gòu)。這導(dǎo)致日志記錄的解析、處理、存儲、查詢及分析變得非常困難,也迫使管理員及開發(fā)人員在很大一部分情況下,只能通過自行編寫的正則表達式臨時解決問題。也正是這樣的狀況,導(dǎo)致Kubernetes上的各類基于日志的分析型解決方案難以實現(xiàn)、也難以維護。
功能增強遠不止以上的變化,新版本包含了33項增強功能,其中12項已經(jīng)邁進穩(wěn)定版本,18項處于beta階段,另有13項處于alpha階段。重要的穩(wěn)定版本變化包括:Seccomp,Kubelet客戶端TLS證書輪替,限制節(jié)點對API的訪問,Ingress畢業(yè)為V1穩(wěn)定版,無需Docker構(gòu)建Kubelet等等。