v1.11 to v1.12

Follow the Regular Upgrading Process.

Upgrading Notable Changes

API Changes

  • Introduced SecretRef to Karmada API as part of the configuration for connecting to an external etcd cluster can be used to reference a secret that contains credentials for connecting to an external etcd cluster.
  • Introduced extraVolumes and extraVolumemounts to the Karmada API to optionally specify extra volumes and volume mounts for the Karmada API server component.
  • Introduced ApiServerService field to Karmada API as part of the Karmada instance status can be used to reference the API Server service for that instance. This is useful for scenarios where higher level operators need to discover the API Server service of a Karmada instance for tasks like setting up ingress traffic.
  • Introduced CustomCertificate.ApiServerCACert field to Karmada API as part of the Karmada spec to specify the reference to a secret that contains a custom CA certificate for the Karmada API Server.
  • API change: The ServiceType of the Karmada API server in Karmada API now has been restricted to ClusterIP, NodePort and LoadBalancer.
  • Introduced a new condition CompleteAPIEnablements to Cluster API to represent the API collection status.
  • Introduced PreserveResourcesOnDeletion field to both PropagationPolicy and ClusterPropagationPolicy API, which provides the ability to roll back migration safely.
  • API Change: Introduced FieldOverrider to both OverridePolicy and ClusterOverridePolicy, which provides the ability to override structured data nested in manifest like ConfigMap or Secret.
  • Introduced PurgeMode to GracefulEvictionTask in ResourceBinding and ClusterResourceBinding API.
  • Introduced StatePreservation to PropagationPolicy, which will be used to preserve status in case of application failover.

Deprecation

  • ExternalEtcd.CAData, ExternalEtcd.CertData and ExternalEtcd.KeyData in Karmada API are deprecated and will be removed in a future version. Use SecretRef for providing client connection credentials.
  • The following flags have been deprecated in release v1.11.0 and now have been removed:
    • karmada-agent:
      • --bind-address
      • --secure-port
    • karmada-controller-manager:
      • --bind-address
      • --secure-port
    • karmada-scheduler-estimator:
      • --bind-address
      • --secure-port
    • karmada-scheduler:
      • --bind-address
      • --secure-port
    • karmada-descheduler:
      • --bind-address
      • --secure-port

karmada-controller-manager

  • Introduced feature gate StatefulFailoverInjection to control whether Karmada collects and injects state information during a failover event for stateful application.
  • The feature Failover now has been disabled by default, which should be explicitly enabled to avoid unexpected incidents.