Kubernetes v1.19 正式发布
終于,我們迎來了 Kubernetes 1.19 版本,這是2020年的第二個版本,也是迄今為止最長的發布周期,總共持續20周。它由33項增強功能組成。12個增強功能進入穩定版,18個增強功能進入測試版,13個增強功能進入alpha版。
由于 COVID-19、George Floyd 抗議以及我們作為發布團隊經歷的其他一些全球性事件,因此1.19版本與常規版本完全不同。由于這些事件,我們決定調整我們的時間表,并讓 SIG、工作組和貢獻者有更多的時間來完成任務。額外的時間也讓大家有時間關注 Kubernetes 項目之外的生活,并確保他們的精神狀態更加良好。
貢獻者是 Kubernetes 的核心,Kubernetes 的行為準則要求人們都很優秀,盡管我們的世界動蕩不安,但我們從社區中看到的只是偉大和謙卑。
主要主題
將 Kubernetes 支持窗口增加到一年
長期支持(LTS)工作組在2019年初進行的一項調查顯示在當前的9個月支持期內,很大一部分 Kubernetes 用戶未能升級。這一點以及調查中的其他反應表明,如果將補丁支持期延長至12-14個月,則30%的用戶能夠將其部署保持在支持的版本上。無論用戶使用的是自建版還是商業發行版,情況都是如此。因此,延長支持期將導致超過 80% 的用戶使用受支持的版本,而不是現在的 50-60%。一年一度的支持期可為用戶提供所需的緩沖期,并且更符合熟悉的年度規劃周期。從 Kubernetes 1.19 版本開始,支持窗口將延長到一年。
儲存容量追蹤
傳統上,Kubernetes 調度器基于這樣的假設:集群中任何地方都可以使用額外的持久性存儲,并具容量無限。拓撲約束解決了第一點,但到目前為止,Pod 調度仍然沒有考慮剩余的存儲容量可能不足以啟動一個新的 pod。存儲容量追蹤是一個新的 Alpha 特性,它通過為 CSI 驅動程序添加一個 API 來解決這個問題,以報告存儲容量,并在 Kubernetes 調度器中為 Pod 選擇節點時使用該信息。該功能可作為支持本地卷和其他容量限制較大的卷類型的動態預配置的基礎。
通用臨時存儲
Kubernetes 提供了卷插件,其生命周期與 Pod 綁定,可用作臨時空間(例如內置的 emptydir 卷類型),也可以將一些數據加載到 Pod 中(例如內置的configmap 和 secret 卷類型)。新的通用暫存卷 alpha 功能允許任何現有的支持動態供應的存儲驅動程序被用作 ephemeral 卷,并將該卷的生命周期綁定到 Pod。它可以用來提供不同于根磁盤的臨時存儲,例如持久內存或者該節點上的獨立本地磁盤。支持所有用于卷供應的 StorageClass 參數。支持PersistentVolumeClaims 支持的所有功能,如存儲容量跟蹤、快照和還原以及卷的大小調整。
CSI Volume 健康監測
CSI 健康狀況監控的 Alpha 版本隨 Kubernetes 1.19一起發布。該功能使 CSI 驅動程序能夠與 Kubernetes 共享來自底層存儲系統的異常卷狀況,以便將其作為事件報告在 PVC 或 Pod 上。此功能是 Kubernetes 進行程序檢測和解決單個卷健康問題的基礎。
Ingress 升級為 GA
就將 Ingress API 推向 GA 而言,API 本身在 Beta 版中已經存在了很長時間,以至于通過使用和采用(包括用戶和負載均衡器/Ingress 控制器提供商),它已經達到了事實上的 GA 狀態。在沒有全面替代的情況下放棄它不是一個可行的方法。它顯然是一個有用的 API,并且捕獲了一組不平凡的用例。在這一點上,似乎更謹慎的做法是將當前的 API 聲明為社區將支持的 V1 版本,同時開發 V2 Ingress API 或具有超集功能的完全不同的 API。
結構化日志
在 v1.19 之前,Kubernetes 控制平面中的日志記錄無法保證日志消息和這些日志中對 Kubernetes 對象的引用有任何統一的結構。這使得對日志的解析、處理、存儲、查詢和分析變得困難,并迫使管理員和開發人員在大多數情況下依靠基于一些正則表達式的臨時解決方案。由于這些問題,任何基于這些日志的分析解決方案都很難實現和維護。
新的 klog 方法
這個 Kubernetes 版本為 klog 庫引入了新的方法,該方法提供了用于格式化日志消息的更結構化的接口。每個現有的格式化日志方法(Infof,Errorf)都通過結構化方法(InfoS,ErrorS)進行匹配。新的日志記錄方法將日志消息作為第一個參數,將鍵值對列表作為可變參數的第二個參數。這種方法允許逐步采用結構化日志記錄,而無需一次將所有 Kubernetes 轉換為新的API。
Kubelet 的客戶端 TLS 證書輪轉
kubelet 使用私鑰和證書對 kube-apiserver 進行認證。證書是在 kubelet 首次啟動時通過集群外機制提供給它的。自 Kubernetes v1.8 以來,集群已經包含了一個(beta)流程,用于獲取初始的證書/密鑰對,并在證書到期臨近時進行輪轉,在 Kubernetes v1.19 中,這個功能可以穩定下來了。
在 kubelet 啟動過程中,將對文件系統進行掃描,以查找由證書管理器管理的現有證書/密鑰對。如果有可用的證書/密鑰,則將加載它。如果沒有,則 kubelet 會檢查配置文件中的編碼證書值或 kubeconfig 中的文件引用。如果證書是一個 bootstrap 證書,則它將用于生成密鑰,創建證書簽名請求并向 API服務器請求簽名的證書。
當到期臨近時,證書管理器會負責提供正確的證書,生成新的私鑰和請求新的證書。隨著 kubelet 請求證書的簽名是其啟動過程的一部分,并且不斷地對來自 kubelet 的證書簽名請求進行自動批準,以使集群變得易于管理。
其他更新
畢業至穩定
Seccomp(https://github.com/kubernetes/enhancements/issues/135)
Kubelet 客戶端 TLS 證書輪轉(https://github.com/kubernetes/enhancements/issues/266)
限制節點對 API 的訪問(https://github.com/kubernetes/enhancements/issues/279)
重新設計事件 API(https://github.com/kubernetes/enhancements/issues/383)
Ingress 升級到 V1 版本(https://github.com/kubernetes/enhancements/issues/1453)
CertificateSigningRequest API(https://github.com/kubernetes/enhancements/issues/1513)
在沒有Docker的情況下構建Kubelet(https://github.com/kubernetes/enhancements/issues/1547)
主要變化
節點拓撲管理器(https://github.com/kubernetes/enhancements/issues/693)
新的端點 API(https://github.com/kubernetes/enhancements/issues/752)
將 Kubernetes 支持窗口增加到一年(https://github.com/kubernetes/enhancements/issues/1498)
其他顯著特性
運行多個調度配置文件(https://github.com/kubernetes/enhancements/issues/1451)
CertificateSigningRequest API(https://github.com/kubernetes/enhancements/issues/1513)
不變的 Secrets 和 ConfigMap(https://github.com/kubernetes/enhancements/issues/1412)
發行說明
在我們的發行說明(https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md)中查看 Kubernetes 1.19 發行版的完整詳細信息。
可用性
Kubernetes 1.19可以在GitHub(https://github.com/kubernetes/kubernetes/releases/tag/v1.19.0)上下載。要開始使用 Kubernetes,請查看這些交互式教程(https://kubernetes.io/docs/tutorials/)或使用帶有 KinD(Docker中的Kubernetes)的 Docker 容器“節點”運行本地 Kubernetes 集群。您還可以使用kubeadm 輕松安裝1.19 。
發布團隊
這個版本的發布是通過數百人的努力,他們貢獻了技術和非技術內容。特別感謝 HashiCorp 的高級開發人員倡導者T aylor Dolezal 領導的發布團隊。34位發布團隊成員協調了發布的各個方面,從文檔到測試、驗證和功能完整性。
隨著 Kubernetes 社區的發展,我們的發布過程代表了開源軟件開發中協作的驚人表現。Kubernetes 繼續以快速的速度獲得新用戶。這種增長創造了一個積極的反饋循環,更多的貢獻者提交代碼創造了一個更有活力的生態系統。迄今為止,Kubernetes 已經有超過49,000名個人貢獻者,以及一個超過3,000人的活躍社區
發布 Logo
所有人都啟發了這個 Kubernetes 1.19 版本 Logo!這個版本有點像是一場馬拉松比賽,也證明了當世界是一個狂野的地方,我們可以聚集在一起,做不可思議的事情。
Kubernetes 1.19 發布 Logo之所以選擇“強調爪子-本地化”作為發布主題,是因為它捕捉了發布團隊盡管世界狀況良好的積極前景。1.19徽標中顯示的字符代表了我們發行團隊中每個人的個性,從emo到peppy,甚至更多!
關于設計師:漢娜貝絲·拉格洛夫(Hannabeth Lagerlof)是位于加利福尼亞州洛杉磯的視覺設計師,她在環境和圖形設計領域擁有廣泛的背景。漢娜貝斯(Hannabeth)創造藝術和用戶體驗來激發聯系。您可以在Twitter上以@emanate_design的身份找到Hannabeth。
從長遠來看
此次發布的內容也與增強功能方面有所不同。傳統上,我們有3-4周的時間,從呼吁增強功能到增強功能凍結,這段時間結束后,貢獻者可以確認某項功能是否會成為周期的一部分。這次發布周期很特殊,我們有五個星期的時間來完成同一個里程碑。延長的時間給了貢獻者更多的時間來計劃和決定他們各自功能的畢業。
貢獻者實現功能的里程碑從通常的5周延長到7周。貢獻者們多了40%的時間來研究他們的功能,從而減少了疲勞,有更多的時間來思考如何實現。我們還注意到,最后一刻的忙碌也大大減少了。這個周期的異常請求數量也減少了--6個,而上一個發布周期是14個。
生態系統更新
CNCF 剛剛結束了它的第一屆虛擬 KubeCon。所有講座均為點播,凡是注冊的人都可以參加,現在還來得及!
認證 Kubernetes 安全專家(CKS)將于11月推出!CKS專注于集群與系統加固、最小化微服務漏洞和供應鏈的安全。
CNCF發布了第二份《云原生開發現狀》,顯示使用容器和無服務器技術的云原生開發者數量大規模增長。
Kubernetes.dev,一個專注于 Kubernetes 貢獻者的網站已經推出。它將貢獻者文檔、資源和項目活動信息集中到一個中心位置。
項目速度
Kubernetes DevStats 儀表盤(https://k8s.devstats.cncf.io/d/12/dashboards?orgId=1)說明了公司主要貢獻者的貢獻明細,以及一套令人印象深刻的預配置報告,從個人貢獻者到拉動請求生命周期時間。如果你想從 Kubernetes 和 CNCF 社區收集數字、事實和數據,它是最好的開始。
在4月到8月的這個發布周期中,有382家不同的公司和超過2464名個人為Kubernetes 做出了貢獻。查看 DevStats(https://k8s.devstats.cncf.io/d/11/companies-contributing-in-repository-groups?orgId=1&var-period=m&var-repogroup_name=All&from=1585692000000&to=1598392799000),可以了解更多關于 Kubernetes 項目和社區的整體速度。
原文鏈接:
https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive/- END -
Kubernetes全棧技術培訓
往期精彩文章
kubernetes全棧技術+企業案例演示【帶你快速掌握和使用k8s】
突破運維和開發瓶頸、Python、k8s、DevOps轉型一網打盡!
python運維開發實戰-基礎篇
python運維和開發實戰-高級篇
python運維和開發實戰-安裝和創建Django項目
Docker公司禁止被列入美國"實體名單"的國家、企業使用
Jenkis pipeline構建項目實踐-編寫podTemplate實現和k8s對接
安裝kubernetes集群-靈活安裝k8s各個版本高可用集群
kubernetes面試題匯總
DevOps視頻和資料免費領取
kubernetes技術分享-可用于企業內部培訓
談談我的IT發展之路
kubernetes系列文章第一篇-k8s基本介紹
kubernetes系列文章第二篇-kubectl
了解pod和pod的生命周期-這一篇文章就夠了
Kubernetes中部署MySQL高可用集群
Prometheus+Grafana+Alertmanager搭建全方位的監控告警系統-超詳細文檔
k8s1.18多master節點高可用集群安裝-超詳細中文官方文檔
k8s中藍綠部署、金絲雀發布、滾動更新匯總
運維常見問題匯總-tomcat篇
關于linux內核參數的調優,你需要知道
kubernetes掛載ceph rbd和cephfs
報警神器Alertmanager發送報警到多個渠道
jenkins+kubernetes+harbor+gitlab構建企業級devops平臺
kubernetes網絡插件-flannel篇
kubernetes網絡插件-calico篇
kubernetes認證、授權、準入控制
限制不同的用戶操作k8s資源
面試真題&技術資料免費領取-覆蓋面超全~
Prometheus監控MySQL
Prometheus監控Nginx
Prometheus監控Tomcat
linux面試題匯總
測試通過storageclass動態生成pv
通過編寫k8s的資源清單yaml文件部署gitlab服務
helm安裝和使用-通過helm部署k8s應用
k8s基于Ingress-nginx實現灰度發布
k8s的Pod安全策略
Prometheus Operator-上篇-安裝和使用篇
Prometheus Operator-下篇
通過kubeconfig登陸k8s的dashboard ui界面
通過token令牌登陸k8s dashboard ui界面?
kubernetes集群的etcd數據庫詳細介紹
Linux網絡流量監控工具
kubernetes搭建EFK日志管理系統
prometheus operator監控k8s集群之外的haproxy組件?????????
kubernetes ConfigMap存儲卷?????????????????????????? ????????????????
技術交流
學無止境,了解更多關于kubernetes/docker/devops/openstack/openshift/linux/IaaS/PaaS相關內容,想要獲取更多資料和免費視頻,可按如下方式進入技術交流群
微信:luckylucky421302
按如下指紋可關注公眾
總結
以上是生活随笔為你收集整理的Kubernetes v1.19 正式发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GD32F4xx CAN接口使用
- 下一篇: 理解Base64编码及实现编解码Base