历时5月,Kubernetes1.19正式发布 !Ingress迎来GA,存储容量跟踪新特性
我们迎来了Kubernetes1.19,这是2020年发布的第二个版本,也是迄今为止最长的发布周期,总共持续了20周。它包括33个增强功能:12个增强功能达到稳定版,18个增强处在beta版,还有13个是alpha版。
由于COVID-19、George Floyd抗议事件,以及我们作为发布团队经历的其他一些全球事件,1.19的发布与常规版本有很大不同。由于上述原因,我们决定调整时间表,让SIG、工作组和贡献者能够有更多时间来完成工作。同时,也让大家有时间关注Kubernetes(http://www.alauda.cn)项目之外的生活,并确保他们良好的精神健康状态。
贡献者是Kubernetes的核心,而并非相反。Kubernetes的行为准则要求善待彼此、成就彼此,尽管我们的世界动荡不安,我们看到的依然是一个伟大且充满谦逊的社区。
1Kubernetes支持窗口增加到一年
长期支持(LTS)工作组在2019年初进行的一项调查显示,Kubernetes终端用户中有相当一部分未能在当前9个月的支持期内升级。该调查的其他结论还包括,如果补丁支持期限延长到12-14个月,30%的用户将能够跟上新版本的部署。这似乎是正确的,无论用户使用的是自建,还是商业销售的发行版。
因此,将支持期延长将有超过80%的用户享受到支持版本,而现在只有50-60%。一年的支持期为最终用户提供了必要的缓冲,并且与熟悉的年度规划周期更加协调。因此,从Kubernetes 1.19版本开始,支持窗口将延长到一年。
2存储容量跟踪
传统上,Kubernetes调度器基于这样的假设:集群中的任何地方都有额外的持久性存储,并且具有无限的容量。拓扑约束解决了第一点,但是到目前为止,pod调度仍然没有考虑到剩余的存储容量可能不足以启动新的pod。存储容量跟踪是一个新的alpha特性,通过为CSI驱动程序添加API来报告存储容量,并在为pod选择节点时在Kubernetes调度器中使用该信息。此功能可作为支持本地卷和其他容量受限的卷类型的动态资源调配的基础。
3临时通用卷
Kubernetes提供的卷插件的生命周期与pod相关,可以用作临时空间(例如,内置的emptydir卷类型)或将一些数据加载到pod中(例如,内置的configmap和secret卷类型,或“CSI inline volumes”)。新的通用临时卷alpha功能允许任何支持动态资源调配的现有存储驱动程序用作临时卷,并将卷的生命周期绑定到Pod。它可以用来提供与根磁盘不同的临时存储,例如持久内存,或者该节点上的一个单独的本地磁盘。支持卷配置的所有Storage Class参数。支持Persistent Volume Claims支持的所有功能,例如存储容量跟踪、快照和恢复以及卷大小调整
4CSI卷运行状况监控
本次Kubernetes 1.19发布了CSI运行状况监测的alpha版本。这个特性使CSI驱动程序能够与Kubernetes(https://www.alauda.cn)共享来自底层存储系统的异常卷情况,从而能够将它们作为事件报告到PVC或Pod上。该特性可以作为Kubernetes程序化检测和解决单卷运行状况问题的基础。
5Ingress正式迎来 GA
在将Ingress API推向GA方面,API本身已经在beta版中可用了很长时间,由于不断被用户和负载均衡/Ingress Controller提供商等所使用和采用,它已经获得了事实上的GA状态。在没有完全替代的情况下放弃它是不可行的做法。它是一个重要的API,并捕获了一系列重要的用例。在这一点上,更谨慎的做法是将当前的API声明作为社区支持的V1版,并对其状态进行编码,同时开发 Ingress API V2版本,或具有超集特性的新的API。
6结构化日志
在v1.19之前,在Kubernetes控制平面进行日志记录无法保证日志消息和对Kubernetes对象的引用保持统一的结构。这使得解析、处理、存储、查询和分析日志变得困难,并且迫使管理员和开发人员在大多数情况下依赖基于一些正则表达式的临时解决方案。由于这些问题的存在,任何基于这些日志的分析解决方案都很难实现和维护。
7新的klog方法
Kubernetes 1.19版本引入了klog库的新方法,这些方法为格式化日志消息提供了一个更结构化的接口。每个现有的格式化日志方法(Infof、Errorf)都与结构化方法(InfoS、ErrorS)相匹配。新的日志记录方法接受日志消息作为第一参数,并将键值对列表作为第二变量参数。这种方法允许渐进地采用结构化日志记录,而不需要一次将所有Kubernetes指向新的API。
8kubelet的客户端TLS证书轮换
kubelet使用私钥和证书向kube-apiserver验证kubelet。当kubelet第一次启动时,通过集群外机制将证书提供给kubelet。自从kubernetes v1.8以来,集群开始引入一个beta过程,用于获取初始证书/密钥对,并在证书到期时对其进行轮替。在Kubernetes v1.19中,这一功能进入稳定版本。
在kubelet启动期间,将扫描文件系统,以查找由证书管理器管理的现有证书/密钥对。如果有可用的证书/密钥,则将加载该证书/密钥。如果没有,kubelet将检查其配置文件中的编码证书值或文件引用。如果证书是引导证书,那么它将用于生成密钥、创建证书签名请求并从API服务器请求签名证书。
在证书到期后,证书管理器负责提供正确的证书,生成新的私钥并请求新的证书。由于kubelet请求将证书签名作为其引导序列的一部分,并且不断对来自kubelet的证书签名请求进行自动批准,因此整个集群的可管理性将大幅提升。
9其他更新
以下功能迎来稳定版:
Seccomp
Kubelet客户端TLS证书轮换
限制节点对API的访问
重新设计Event API
Ingress进入V1稳定版
Certificate Signing Request API
无需Docker构建 Kubelet
重大变化:
节点拓扑管理器
新的端点API
将Kubernetes支持窗口延长到一年
其他重要特性:
运行多个Scheduling Profiles
Certificate Signing Request API
不可变Secrets 和ConfigMaps
10Kubernetes 1.19版本logo
是你们激发了Kubernetes 1.19发布标识的灵感!这个版本更像是一场马拉松,它证明了当这个世界是一个荒芜之地时,我们可以走到一起,做一些不可思议的事情。
原文链接:
https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the-paw-sitive/
历时5月,Kubernetes1.19正式发布 !Ingress迎来GA,存储容量跟踪新特性的更多相关文章
- Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码
美国时间 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本. 为什么说是长期版本,看下面的官方发布的支持路线图表. 可以看出 Java 8 扩 ...
- Java 11正式发布,这几个逆天新特性教你写出更牛逼的代码
就在前段时间,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用! 这无疑对我们来说是一大好的消息.作为一名java开发者来说,虽然又要去学习和了解java11 ...
- JDK 16 正式发布,一次性发布 17 个新特性…不服不行!
上一篇:Java 15 正式发布, 14 个新特性 JDK 16 正式发布 牛逼啊,JDK 15 刚发布半年(2020/09/15),JDK 16 又如期而至(2021/03/16),老铁们,跟上. ...
- kubernetes1.7正式发布
Kubernetes发布历史回顾 Kubernetes 1.0 - 2015年7月发布 Kubernetes 1.1 - 2015年11月发布 Kubernetes 1.2 - 2016年3月发布 K ...
- Kubernetes1.4正式发布
Kubernetes1.4正式发布. 昨天刚预测1.4即将正式发布,结果晚上Kubernetes1.4就正式发布了. 先看看Kubernetes发布历史: Kubernetes 1.0 - 2015年 ...
- Kubernetes1.5正式发布
Kubernetes1.5正式发布 修复了很多已知问题 进一步增强federation相关特性 将PetSet改名为StatefulSet 将ScheduledJobs改名为CronJobs 新增了命 ...
- vue3.0和2.0的区别,Vue-cli3.0于 8月11日正式发布,更快、更小、更易维护、更易于原生、让开发者更轻松
vue3.0和2.0的区别Vue-cli3.0于 8月11日正式发布,看了下评论,兼容性不是很好,命令有不少变化,不是特别的乐观vue3.0 的发布与 vue2.0 相比,优势主要体现在:更快.更小. ...
- kubernetes1.5新特性跟踪(续)
Kubernetes发布历史回顾 Kubernetes 1.0 - 2015年7月发布 Kubernetes 1.1 - 2015年11月发布 Kubernetes 1.2 - 2016年3月发布 K ...
- kubernetes1.5新特性跟踪
Kubernetes发布历史回顾 Kubernetes 1.0 - 2015年7月发布 Kubernetes 1.1 - 2015年11月发布 Kubernetes 1.2 - 2016年3月发布 K ...
随机推荐
- KubeCon 2021|使用 eBPF 代替 iptables 优化服务网格数据面性能
作者 刘旭,腾讯云高级工程师,专注容器云原生领域,有多年大规模 Kubernetes 集群管理及微服务治理经验,现负责腾讯云服务网格 TCM 数据面产品架构设计和研发工作. 引言 目前以 Istio[ ...
- [BUUCTF]PWN——[BJDCTF 2nd]secret
[BJDCTF 2nd]secret 附件 步骤: 例行检查,64位程序,开启了canary和nx 本地试运行一下,看看程序大概的情况,好像是一个什么游戏 64位ida载入,检索程序里的字符串,发现了 ...
- Table.AlternateRows删除间隔….Alternate…(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳"&qu ...
- LuoguP5690 [CSP-S2019 江西] 日期 题解
Content Alice 在纸上写下了一个日期,形式为 \(\text{MM-DD}\),其中 \(\text{MM}\) 与 \(\text{DD}\) 都是两位数字,分别表示月和天,然而这个日期 ...
- LuoguB2029 大象喝水 题解
Update \(\texttt{2021.12.4}\) 修改了原先的错误代码,给各位造成影响,在此表示很抱歉. Content 大象要喝 \(20\) 升水,但现在只有一个深 \(h\) 厘米,半 ...
- CF701A Cards 题解
Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),试在其中找到 \(\dfrac{n}{2}\) 对数,使得每个数对的元素的和都相等. 数据范围:\(2 ...
- Java 中接口和抽象类的 7 大区别!
本文已收录<Java常见面试题>:https://gitee.com/mydb/interview Java 是一门面向对象的编程语言,面向对象的编程语言有四大特征:抽象.封装.继承和 ...
- React使用css module和className多类名设置
引入样式文件 import styles from './footer.module.css'; 注意: 样式文件名必须要以.module.css结尾 单类名设置 <div className= ...
- wayne编译支持k8s1.16+
GitHub: https://github.com/Qihoo360/wayne 文档: 由于wayne 官方文档链接已经失效了,我们可以通过这里查看 wayne 文档, 除了这个地方,我们询问之前 ...
- '2'>'10'==true? JS是如何进行隐式类型转换的?
前言 '2'>'10'返回的true,可能很多人都不是很能理解吧? 在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转 ...