v1.9 to v1.10

Follow the Regular Upgrading Process.

Upgrading Notable Changes

API Changes

  • Introduce a new API named WorkloadRebalancer to support rescheduling.
  • Introduced ServiceAnnotations to the Karmada API to provide an extra set of annotations to annotate karmada apiserver services.
  • Add a short name ric for resourceinterpretercustomizations CRD resource.

Deprecation

  • The following labels have been deprecated from release v1.8.0 and now have been removed:
    • resourcebinding.karmada.io/uid
    • clusterresourcebinding.karmada.io/uid
    • work.karmada.io/uid
    • propagationpolicy.karmada.io/uid
    • clusterpropagationpolicy.karmada.io/uid
  • The following labels now have been deprecated and removed:
    • resourcebinding.karmada.io/key replaced by resourcebinding.karmada.io/permanent-id
    • clusterresourcebinding.karmada.io/key replaced by clusterresourcebinding.karmada.io/permanent-id
    • work.karmada.io/namespace replaced by work.karmada.io/permanent-id
    • work.karmada.io/name replaced by work.karmada.io/permanent-id
    • resourcebinding.karmada.io/depended-id
  • karmadactl: The flag --cluster-zone, which was deprecated in release 1.7 and replaced by --cluster-zones, now has been removed.

Webhook Configuration

In v1.10, we move the logic of generating Permanent ID from the karmada-controller-manager component to the Karmada-webhook component, so you need to add mutate configuration for ResourceBinding/ClusterResourceBinding/MultiClusterService type resources in the mutating-config MutatingWebhookConfiguration resource object. The specific configuration is as follows:

  1. - name: resourcebinding.karmada.io
  2. rules:
  3. - operations: [ "CREATE" ]
  4. apiGroups: [ "work.karmada.io" ]
  5. apiVersions: [ "*" ]
  6. resources: [ "resourcebindings" ]
  7. scope: "Namespaced"
  8. clientConfig:
  9. url: https://karmada-webhook.karmada-system.svc:443/mutate-resourcebinding
  10. caBundle: {{caBundle}}
  11. failurePolicy: Fail
  12. sideEffects: None
  13. admissionReviewVersions: [ "v1" ]
  14. timeoutSeconds: 3
  15. - name: clusterresourcebinding.karmada.io
  16. rules:
  17. - operations: [ "CREATE" ]
  18. apiGroups: [ "work.karmada.io" ]
  19. apiVersions: [ "*" ]
  20. resources: [ "clusterresourcebindings" ]
  21. scope: "Cluster"
  22. clientConfig:
  23. url: https://karmada-webhook.karmada-system.svc:443/mutate-clusterresourcebinding
  24. caBundle: {{caBundle}}
  25. failurePolicy: Fail
  26. sideEffects: None
  27. admissionReviewVersions: [ "v1" ]
  28. timeoutSeconds: 3
  29. - name: multiclusterservice.karmada.io
  30. rules:
  31. - operations: [ "CREATE", "UPDATE" ]
  32. apiGroups: [ "networking.karmada.io" ]
  33. apiVersions: [ "*" ]
  34. resources: [ "multiclusterservices" ]
  35. scope: "Namespaced"
  36. clientConfig:
  37. url: https://karmada-webhook.karmada-system.svc:443/mutate-multiclusterservice
  38. caBundle: {{caBundle}}
  39. failurePolicy: Fail
  40. sideEffects: None
  41. admissionReviewVersions: [ "v1" ]
  42. timeoutSeconds: 3
  • The feature APIPriorityAndFairness now has moved to GA, thus not allowed to be disabled by feature gates. You have to remove it from the --feature-gates flag.

karmada-aggregated-apiserver

  • The feature APIPriorityAndFairness now has moved to GA, thus not allowed to be disabled by feature gates. You have to remove it from the --feature-gates flag.

Please refer to v1.10.0 Release Notes for more details.