阿里云容器服务 Kubernetes 版严格遵循社区一致性认证。本文介绍ACK发布Kubernetes 1.31版本的主要变更说明,包括升级注意事项、重大变更、功能特性、弃用功能和API、特性门控等。
组件版本说明
下表为ACK集群核心组件版本的支持情况。
核心组件 | 版本号 |
Kubernetes | 1.31.1-aliyun.1 |
etcd | v3.5.15 |
containerd | 1.6.34 |
CoreDNS | v1.9.3.10-7dfca203-aliyun |
CSI | v1.31.1-e749bf2-aliyun |
CNI | Flannel v0.15.1.22-20a397e6-aliyun |
Terway和TerwayControlplane为v1.10.0及以上 说明 自此版本开始,在ACK托管集群中选择网络插件为Terway时,会默认开启Trunk ENI功能。 |
功能特性
在CustomResourceDefinition(CRD)中指定
caBundle
字段时,如果caBundle
非空,但内容无效或不包含任何CA证书,那么该CRD将不会提供服务。CRD的caBundle
设置为有效状态后,将不再允许通过更新操作将其变为无效或内容为空的状态,以避免中断CRD的正常服务。MatchLabelKeysInPodAffinity特性门控进阶至Beta,默认开启。
podAffinity
和podAntiAffinity
默认支持更为精细的配置字段matchLabelKeys和mismatchLabelKeys,以解决调度器在Deployment滚动更新期间无法区分新老Pod,继而导致调度结果不符合亲和性和反亲和性预期的问题。JobSuccessPolicy进阶至Beta,默认启用,允许为Indexed Job配置成功策略。更多信息,请参见Job Success Policy。
DisableNodeKubeProxyVersion进阶至Beta,默认启用,将不会在节点的
status.nodeInfo.kubeProxyVersion
字段中显示kube-proxy版本。该字段所显示的值并不准确,无法正确提供kube-proxy的实际版本信息。ServiceAccountTokenNodeBinding进阶至Beta,默认启用,允许创建一个直接绑定到节点的ServiceAccount Token。当Token过期或者关联的节点或ServiceAccount被删除时,Token将失效。
RecursiveReadOnlyMounts进阶至Beta,默认启用,允许在Pod的卷挂载上设置递归的只读属性,即以此种方式挂载的卷及其内部的所有子目录和文件都将被设置为只读状态。更多信息,请参见Recursive read-only mounts。
当Pod
spec
发生改变,但不涉及image
字段的改动时,kubelet将不会重启容器,避免因非功能性配置更新而引起的不必要的Pod重启。HonorPVReclaimPolicy进阶至Beta,默认启用,支持在PersistentVolume上添加Finalizer,以确保仅在删除对应的底层存储资源后才删除具有
Delete
回收策略的PersistentVolume。更多信息,请参见PersistentVolume deletion protection finalizer。kubectl debug
支持配置自定义模板(Profile)调试Pod的信息。更多信息,请参见Kubernetes 1.31: Custom Profiling in Kubectl Debug Graduates to Beta。Kubernetes客户端(例如
kubectl
)中用于kubectl cp
、kubectl attach
、kubectl exec
和kubectl port-forward
命令的流式传输协议更新为更现代、更灵活的WebSocket流式传输协议。API Server提供从缓存中实现一致性读的能力,减少将请求透传到etcd,提升了List请求的效率。更多信息,请参见Consistent Reads from Cache。
功能变更
内置的CephFS卷插件(
kubernetes.io/cephfs
)被移除,使用CephFS CSI驱动代替。如果您正在使用CephFS卷插件,请在集群升级到1.31改用新方案,并使用新的驱动重新部署应用。
内置CephRBD卷插件(
kubernetes.io/rbd
)被移除,使用RBD CSI驱动代替。如果您正在使用CephRBD卷插件,请在集群升级到1.31改用新方案,并使用新的驱动重新部署应用。
CSIMigrationPortworx特性门控默认启用,支持将卷操作从旧的Portworx内嵌插件迁移到Portworx CSI插件。如果您正在使用Portworx作为存储解决方案,请在集群升级到1.31前在集群中安装并配置Portworx CSI插件。
参考链接
关于Kubernetes 1.31完整的变更记录,请参见CHANGELOG-1.31、Kubernetes v1.31: Elli。