CCE发布Kubernetes 1.26版本说明
更新时间:2024-02-23
百度智能云容器引擎CCE严格遵循社区一致性认证, 本文介绍 CCE 发布 Kubernetes 1.26 版本相对 1.24 所做重要变更说明。
资源变更和弃用
- flowcontrol.apiserver.k8s.io/v1beta1 被弃用,从 Kubernetes 1.26 版本开始,可以使用flowcontrol.apiserver.k8s.io/v1beta3
- autoscaling/v2beta1 和 autoscaling/v2beta2 分别在 Kubernetes 1.25 和 1.26 版本被弃用,从 Kubernetes 1.23 版本开始,可以使用 autoscaling/v2
- batch/v1beta1 被弃用,从 Kubernetes 1.21 版本开始,可以使用 batch/v1
-
discovery.k8s.io/v1beta1 被弃用,从 Kubernetes 1.21 版本开始,可以使用 discovery.k8s.io/v1,discovery.k8s.io/v1 中需要额外注意的变更有:
- 使用每个Endpoint的NodeName字段,而不是已被弃用的topology["kubernetes.io/hostname"]字段。
- 使用每个Endpoint的Zone字段,而不是已被弃用的topology["kubernetes.io/zone"]字段。
- Topology字段被替换为deprecatedTopology字段,并且在API的v1版本中不可写入。
-
events.k8s.io/v1beta1 被弃用,从 Kubernetes 1.19 版本开始,可以使用 events.k8s.io/v1,events.k8s.io/v1 中需要额外注意的变更有:
- type 字段只能设置为 Normal 和 Warning 之一;
- involvedObject 字段被更名为 regarding;
- action、reason、reportingController 和 reportingInstance 字段 在创建新的 events.k8s.io/v1 版本 Event 时都是必需的字段;
- 使用 eventTime 而不是已被弃用的 firstTimestamp 字段 (该字段已被更名为 deprecatedFirstTimestamp,且不允许出现在新的 events.k8s.io/v1 Event 对象中);
- 使用 series.lastObservedTime 而不是已被弃用的 lastTimestamp 字段 (该字段已被更名为 deprecatedLastTimestamp,且不允许出现在新的 events.k8s.io/v1 Event 对象中);
- 使用 series.count 而不是已被弃用的 count 字段 (该字段已被更名为 deprecatedCount,且不允许出现在新的 events.k8s.io/v1 Event 对象中);
- 使用 reportingController 而不是已被弃用的 source.component 字段 (该字段已被更名为 deprecatedSource.component,且不允许出现在新的 events.k8s.io/v1 Event 对象中);
- 使用 reportingInstance 而不是已被弃用的 source.host 字段 (该字段已被更名为 deprecatedSource.host,且不允许出现在新的 events.k8s.io/v1 Event 对象中)。
- autoscaling/v2beta1 被弃用,从 Kubernetes 1.23 版本开始,可以使用 autoscaling/v2
-
policy/v1beta1 被弃用,从 Kubernetes 1.21 版本开始,可以使用 policy/v1,policy/v1 中需要额外注意的变更有:
- 在 policy/v1 版本的 PodDisruptionBudget 中将 spec.selector 设置为空({})时会选择名字空间中的所有 Pod(在 policy/v1beta1 版本中,空的 spec.selector 不会选择任何 Pod)。如果 spec.selector 未设置,则在两个 API 版本下都不会选择任何 Pod。
- node.k8s.io/v1beta1 被弃用,从 Kubernetes 1.20 版本开始,可以使用 node.k8s.io/v1
其他变更和弃用
- 弃用 PodSecurityPolicy:从 Kubernetes 1.25 版本开始不再提供 policy/v1beta1 API 版本中的 PodSecurityPolicy;
- 弃用 TopologyKeys: 废弃 Service 中的 topologyKeys 字段;
- 弃用 RuntimeClass: 从 v1.25 版本开始不再提供 node.k8s.io/v1beta1 API 版本中的 RuntimeClass。
- 弃用 PodSecurityPolicy: 在 1.21 版本进入废弃阶段,预计在 1.25 中被删除。
参考链接
关于 Kubernetes 1.26 与其他版本详细对比可参考: