v1.17 升级到 v1.18
遵循常规升级流程。
升级后显著变化
API 变化
- API
PropagationPolicy/ClusterPropagationPolicy中引入了OverflowClusterAffinities字段,以支持在混合云调度中当主集群资源不足时将工作负载溢出到备用集群。 karmada-scheduler-estimator: gRPC 消息MaxAvailableComponentSetsRequest中引入了AssumedWorkloads字段。karmada-scheduler-estimator: gRPC 消息MaxAvailableReplicasRequest中引入了AssumedWorkloads字段。karmada-webhook: 现在会拒绝spec.placement.clusterTolerations中使用了Lt或Gt运算符的PropagationPolicy和ClusterPropagationPolicy资源。scheduler-estimator: 使用标准protoc-gen-go生成 gRPC API,以支持 Kubernetes 1.35+。在 gRPC 消息中为 K8s 类型引入了对等的bytes字段以确保兼容性。ReplicaRequirements.resourceRequest已弃用,由resourceRequestBytes替代,后者存储 proto 序列化的resource.Quantity对象。ComponentReplicaRequirements.resourceRequest已弃用,由resourceRequestBytes替代,后者存储 proto 序列化的resource.Quantity对象。NodeClaim.nodeAffinity已弃用,由nodeAffinityBytes替代,后者存储 proto 序列化的corev1.NodeSelector对象。NodeClaim.tolerations已弃用,由tolerationsBytes替代,后者存储 proto 序列化的corev1.Toleration对象。
弃用
Instrumentation: 已移除弃用的 Prometheus 指标标签cluster和cluster_name,后续将统一使用新引入的member_cluster指标标签名称。karmada-controller-manager: 已移除--cluster-lease-duration和--cluster-lease-renew-interval-fraction启动参数。karmada-scheduler-estimator: 已移除estimating_plugin_execution_duration_seconds和estimating_plugin_extension_point_duration_seconds指标中estimating_plugin_extension_point弃用的Estimator标签值。karmadactl: 已移除Karmada Init Configuration中弃用的Etcd.Local.InitImage字段。
依赖升级
karmada-controller-manager/karmada-agent: 升级gopher-lua依赖至 v1.1.1。- 升级 Kubernetes 依赖至
v1.35.3。 - 基础镜像
alpine从alpine:3.23.3升级至alpine:3.23.4。
其他
karmada-operator-chart: 为确保平滑升级,用户必须先升级到v1.17.3+版本,再升级至v1.18.x版本。