云容器引擎(CCE)严格遵循社区一致性认证。本文介绍CCE发布Kubernetes 1.25版本所做的变更说明。
版本升级说明
CCE针对Kubernetes 1.25版本提供了全链路的组件优化和升级。
表 核心组件及说明
集群类型 核心组件 版本号 升级注意事项 CCE集群 Kubernetes 1.25 无 Docker CentOS:18.9.0
Ubuntu:18.09.9无 Containerd 1.4.1 无 操作系统 CentOS Linux release 7.6 无 Ubuntu 18.04 server 64bit 无
资源变更与弃用
CCE 1.25变更说明
- CCE v1.25集群的节点均默认采用Containerd容器引擎。
社区1.25 ReleaseNotes
- 清理iptables链的所有权
Kubernetes通常创建iptables链来确保这些网络数据包到达,这些iptables链及其名称属于Kubernetes内部实现的细节,仅供内部使用场景,目前有些组件依赖于这些内部实现细节,Kubernetes总体上不希望支持某些工具依赖这些内部实现细节。
在Kubernetes 1.25版本后,Kubelet通过IPTablesCleanup特性门控分阶段完成迁移,是为了不在NAT表中创建iptables链,例如KUBE-MARK-DROP、KUBE-MARK-MASQ、KUBE-POSTROUTING。
- 存储驱动的弃用和移除,移除云服务厂商的in-tree卷驱动。
社区1.24 ReleaseNotes
- 在Kubernetes 1.24版本后,Service.Spec.LoadBalancerIP被弃用,因为它无法用于双栈协议。请使用自定义annotation。
- 在Kubernetes 1.24版本后,kube-apiserver移除参数--address、--insecure-bind-address、--port、--insecure-port=0。
- 在Kubernetes 1.24版本后,kube-controller-manager和kube-scheduler移除启动参数--port=0和--address。
- 在Kubernetes 1.24版本后,kube-apiserver --audit-log-version和--audit-webhook-version仅支持audit.k8s.io/v1,Kubernetes 1.24移除audit.k8s.io/v1[alpha|beta]1,只能使用audit.k8s.io/v1。
- 在Kubernetes 1.24版本后,kubelet移除启动参数--network-plugin,仅当容器运行环境设置为Docker时,此特定于Docker的参数才有效,并会随着Dockershim一起删除。
- 在Kubernetes 1.24版本后,动态日志清理功能已经被废弃,并在Kubernetes 1.24版本移除。该功能引入了一个日志过滤器,可以应用于所有Kubernetes系统组件的日志,以防止各种类型的敏感信息通过日志泄漏。此功能可能导致日志阻塞,所以废弃。
- VolumeSnapshot v1beta1 CRD在Kubernetes 1.20版本中被废弃,在Kubernetes 1.24版本中移除,需改用v1版本。
- 在Kubernetes 1.24版本后,移除自1.11版本就废弃的service annotation tolerate-unready-endpoints,使用Service.spec.publishNotReadyAddresses代替。
- 在Kubernetes 1.24版本后,废弃metadata.clusterName字段,并将在下一个版本中删除。
- Kubernetes 1.24及以后的版本,去除了kube-proxy监听NodePort的逻辑,在NodePort与内核net.ipv4.ip_local_port_range范围有冲突的情况下,可能会导致偶发的TCP无法连接的情况,导致健康检查失败、业务异常等问题。升级前,请确保集群没有NodePort端口与任意节点net.ipv4.ip_local_port_range范围存在冲突。
参考链接
关于Kubernetes 1.25与其他版本的性能对比和功能演进的更多信息,请参考: