Kubernetes 1.31版本说明
云容器引擎(CCE)严格遵循社区一致性认证,现已支持创建Kubernetes 1.31集群。本文介绍Kubernetes 1.31版本的变更说明。
新增特性及特性增强
- StatefulSet起始序号(GA)
在Kubernetes 1.31中,StatefulSetStartOrdinal特性进阶至GA。默认情况下,StatefulSet中Pod的序号是从0开始,该特性引入后允许用户自定义Pod的起始序号。详细使用方式请参考起始序号。
- 弹性索引Job(GA)
在Kubernetes 1.31中,ElasticIndexedJob特性进阶至GA。该特性允许用户在索引Job创建后修改其.spec.completions和.spec.parallelism字段,使之具备弹性伸缩能力。详细使用方式请参考弹性索引Job。
- Pod失效策略(GA)
在Kubernetes 1.31中,JobPodFailurePolicy特性进阶至GA。该特性允许用户根据Pod失效的原因来分别指定处理方式(重试或者忽略),以优化避免不必要的Pod重启带来的运行成本。详细使用方式请参考Pod失效策略。
- Pod干扰状况(GA)
在Kubernetes 1.31中,PodDisruptionConditions特性进阶至GA。该特性在Pod的Condition中新增了DisruptionTarget类型,表示Pod失效的原因,例如被高优先级的Pod抢占、因节点删除而被清理、被kubelet终止等。若Pod是Job或者CronJob控制器创建的,可以与Pod失效策略一起使用,通过该Condition定义失效时的行为。更多关于本特性的详细信息请参考Pod干扰状况。
- 定制资源的可选择字段(Beta)
在Kubernetes 1.31中,CustomResourceFieldSelectors特性进阶至Beta。该特性支持对CRD配置selectableFields,并支持使用Field Selectors过滤List、Watch和DeleteCollection请求,方便用户定位或管理符合特定条件的CRD资源。详细使用方式请参考定制资源的可选择字段。
- Job成功策略(Beta)
在Kubernetes 1.31中,JobSuccessPolicy特性进阶至Beta。该特性允许用户基于成功的Pod个数为Job配置成功策略。详细使用方式请参考成功策略。
- podAffinity中的matchLabelKeys(Beta)
在Kubernetes 1.31中,MatchLabelKeysInPodAffinity特性进阶至Beta。该特性在podAffinity和podAntiAffinity中引入了更为精细的配置字段matchLabelKeys和mismatchLabelKeys,以解决调度器在Deployment滚动更新期间无法区分新老Pod,继而导致调度结果不符合亲和性和反亲和性预期的问题。详细使用方式请参考matchLabelKeys。
- ServiceAccountTokenNodeBinding(Beta)
在Kubernetes 1.31中,ServiceAccountTokenNodeBinding特性进阶至Beta。该特性支持创建绑定到节点的ServiceAccount Token:在Token中包含节点信息的声明,并在使用Token时验证节点的存在,若节点被删除,则Token将会失效。详细使用方式请参考手动为 ServiceAccount 创建 API 令牌。
API变更与弃用
- 在Kubernetes 1.31版本中,在没有--分隔符的情况下将无法运行kubectl exec [POD] [COMMAND]命令,您需要使用kubectl exec [POD] -- [COMMAND]命令。
- 在Kubernetes 1.31版本中,在CustomResourceDefinition(CRD)中指定caBundle字段时,如果caBundle非空,但内容无效或不包含任何CA证书,那么该CRD将不会提供服务。CRD的caBundle设置为有效状态后,将不再允许通过更新操作将其变为无效或内容为空的状态(直接更新将报错invalid field value),以避免中断CRD的正常服务。
CCE对Kubernetes 1.31版本的增强
在版本维护周期中,CCE会对Kubernetes 1.31版本进行定期的更新,并提供功能增强。
关于CCE集群版本的更新说明,请参见补丁版本发布说明。