16 KiB
Table of Contents generated with DocToc
v1.7.2
Downloads for v1.7.2
Download v1.7.2 in the v1.7.2 release page.
Changelog since v1.7.1
Changes by Kind
Bug Fixes
karmada-controller-manager
: only updateaggregatedStatus
andconditions
fields duringbinding-status controller
updating status of binding. (#4234, @jwcesign)karmada-controller-manager
: Pruned job labelsbatch.kubernetes.io/controller-uid
andbatch.kubernetes.io/job-name
which were introduced by Kubernetes 1.27. (#4263, @liangyuanpeng)karmada-search
: Fix lock race affects watch RestChan not close, causing client hanging when performing watch. (#4239, @xigang)karmada-operator
: Fixed can not load Karmada v1.7.0 crds issue. (#4207, @liangyuanpeng)
Others
release1.7
: The base imagealpine
now has been promoted fromalpine:3.18.3
toalpine:3.18.5
(#4380, @zhzhuang-zju)- Karmada is now built with Go1.20.12. (#4369, @RainbowMango)
v1.7.1
Downloads for v1.7.1
Download v1.7.1 in the v1.7.1 release page.
Changelog since v1.7.0
Changes by Kind
Bug Fixes
karmada-aggregated-apiserver
: Fixed the issue that can not proxyexec
request to a proxy issue. (#4021, @jwcesign)karmada-operator
: Fixed the issue that karmada-metrics-adapter was not removed after deleting a Karmada instance. (#4060, @wawa0210)karmada-controller-manager
: Fix panic when FederatedHPA's SelectPolicy is nil and FederatedHPA webhook is disabled. (#4085, @watermeion)karmada-webhook
: Fixed to validate spec.types of MultiClusterService API. (#4114, @lonelyCZ)
Others
None.
v1.7.0
Downloads for v1.7.0
Download v1.7.0 in the v1.7.0 release page.
What's New
CronFederatedHPA
Introduced CronFederatedHPA
API, which represents a collection of repeating schedules to scale the replica number of a specific workload. It is used for regular auto scaling scenarios, and it can scale any workloads that have a scale subresource or FederatedHPA.
See CronFederated HPA documents for more details.
(Feature contributors: @jwcesign, @chaunceyjiang, @RainbowMango)
MultiClusterService
Introduced MultiClusterService
API, which controls the exposure of services to multiple external clusters and also enables service discovery between clusters.
See Expose and discover multi-cluster services for more details.
(Feature contributors: @XiShanYongYe-Chang, @chaunceyjiang, @yike21)
PropagationPolicy Preemption
The PropagationPolicy/ClusterPropagationPolicy is now able to preempt resources from another PropagationPolicy/ClusterPropagationPolicy as per priority by declaring the preemption behavior. Preemption will be disabled by default for backward compatibility.
This feature is now controlled by feature gates PropagationPolicyPreemption
with the alpha state (disabled by default).
See PropagationPolicy Priority and Preemption for more details.
(Feature contributors: @Poor12, @whitewindmills, @jwcesign, @RainbowMango)
Migrating resources in batches
Legacy cluster resources can now be migrated to Karmada in batches by PropagationPolicy or ClusterPropagationPolicy.
By specifying the ConflictResolution
in the PropagationPolicy/ClusterPropagationPolicy, workloads can be migrated to Karmada smoothly without container termination or restarts.
See Migrate In Batch for more details.
(Feature contributors: @chaosi-zju, @RainbowMango)
FederatedHPA
FederatedHPA is now able to scale replicas based on custom metrics
in addition to CPU and memory.
See FederatedHPA scales with custom metrics for more details.
(Feature contributor: @chaunceyjiang)
Other Notable Changes
API Changes
- Added print columns for
FederatedHPA
API including reference, minpods, maxpods, and replicas. (#3622, @Poor12) - Added
CronFederatedHPA
API based on the proposal. (#3692, @RainbowMango) - Introduced
Preemption
to both PropagationPolicy and ClusterPropagationPolicy to declare the behaviors of preemption. (#3788, @RainbowMango) - Introduced
ConflictResolution
to both PropagationPolicy and ClusterPropagationPolicy to declare how potential conflicts should be handled. (#3801, @RainbowMango) - Introduced a new field
Zones
to represent multiple zones of a member cluster. (#3933, @RainbowMango)
Deprecation
karmada-controller-manager
: Removedhpa
controller in favor ofFederatedHPA
. (#3852, @jwcesign)- The
Zone
(.spec.zone) was never used and now has been deprecated in favor of the newly introducedZones
. (#3933, @RainbowMango) karmadactl
: Deprecated--cluster-zone
flag which will be removed in future releases and introduced--cluster-zones
flag. (#3995, @whitewindmills)
Bug Fixes
karmada-metrics-adapter
: Fixed the issue that when different clusters have the same pod name, the annotations of different metrics have the same value. (#3647, @chaunceyjiang)karmada-controller-manager
: Fixed panic when printing log in the case that lastSuccessfulTime of cronjob is nil. (#3683, @chaunceyjiang)karmada-controller-manager
: Fixed the issue that theApplied
condition of ResourceBinding is always true. (#3709, @chaunceyjiang)karmada-controller-manager
: Fixed a boundary case where thepropagationpolicy.karmada.io/name
in the label of the resource template would not be removed after deleting PP. (#3848, @chaunceyjiang)karmada-controller-manager
: Fixed the issue that dependent resources are created and deleted repeatedly when the dependent resource has a status field. (#3868, @chaunceyjiang)karmada-controller-manager
: Avoid updating directly cached resource templates. (#3879, @whitewindmills)kamrada-controller-manager
: Fixed the issue that federated-HPA plain metric calculation is incorrect when usageRatio == 1.0, keep same with resource replicas. (#3922, @zach593)karmada-webhook
: When application failover is enabled, users are prevented from setting propagateDeps tofalse
. (#3739, @chaunceyjiang)karmada-search
: Fixed a panic due to concurrent mutating objects in the informer cache. (#3966, @ikaven1024)- Fixed the inability to sync list issues in the case that the client disconnects from the member cluster. The fixes apply to the following components:
- karmada-controller-manager
- karmada-agent
- karmada-descheduler
- karmada-scheduler
- karmada-metrics-adapter
- karmada-search (#3908, @WulixuanS)
Security
- The base image
alpine
now has been promoted fromalpine:3.18.2
toalpine:3.18.3
. (#3942, @Rajan-226) - Security: Sets an upper bound for all components on the lifetime of idle keep-alive connections and time to read the headers of incoming requests. (#3951, @zishen)
Features & Enhancements
karmadactl
: The--wait-component-ready-timeout
flag has been introduced in theinit
command to specify the component installation timeout. (3665, @helen-frank)karmadactl
: Addedkarmada-metrics-adapter
to addons. ([#3717](karmadactl
: Addedkarmada-metrics-adapter
to addons.), @chaunceyjiang)karmadactl
: Introducedtop
command. (#3593, @chaunceyjiang)karmadactl join/register
,karmada-agent
: Added labels on the namespace created by Karmada. (#3839, @zhy76)karmadactl
: Granted full permissions of Karmada resources toadmin
during deployment of Karmada withinit
. (#3937, @zhy76)karmada-controller-manager
: Supported aggregating the status of a pod's initContainer. (#3574, @chaunceyjiang)karmada-controller-manager
: Supported modification synchronization of custom resources as dependencies. (#3614, @chaunceyjiang)karmada-controller-manager
: Implemented proxy header of cluster APIs. (#3631, @Poor12)karmada-controller-manager
: The--cluster-cache-sync-timeout
flag is now used to specify the sync timeout of the control plane cache in addition to the member cluster's cache. The default value has been increased to 2 minutes. (#3874, @lxtywypc)karmada-controller-manger
: Added Ingresses to the default dependencinterpreter. (#3885, @chaunceyjiang)karmada-controller-manager
: Introduced a LabelSelector field to DependentObjectReference. (#3811, @chaunceyjiang)karmada-controller-manager
: Added the pod replica interpreter by default. (#3876, @whitewindmills)karmada-controller-manager
: Added dependencies of ServiceImport to the default interpreter. (#3939, @chaunceyjiang)karmada-controller-manager
: Included the UID of the owner resource in labels and provided the details in annotations. If users are using related labels as label selectors, they should switch to using the UID as the label selector. (#4007, @jwcesign)karmada-scheduler
: Introduced new scheduling condition reasons: NoClusterFit, SchedulerError, Unschedulable, Success. (#3741, @whitewindmills)karmada-operator
: Supported disabling karmada cascading deletion. (#3577, @calvin0327)karmada-operator
: Allowed installing thekarmada-metrics-adapter
addon. (#3732, @calvin0327)karmada-webhook
: Allowed custom metrics configuration of FederatedHPA. (#3826, @jwcesign)
Other
Dependencies
- The base image
alpine
now has been promoted fromalpine:3.17.1
toalpine:3.18.2
. (#3671, @yanggangtony) - Karmada is now built with Kubernetes v1.27.3 dependencies. (#3730, @RainbowMango)
- Karmada(v1.7) is now built with Go 1.20.6. (#3865, @parthn2)
Helm Charts
- Fixed the issue that
karmada-search
no ETCD secret volume mount when using external ETCD. (#3777, @my-git9) - Granted full permissions of Karmada resources to
admin
. (#3957, @Vacant2333) - Now able to render
PodDisruptionBudget
for resources. (#3955, @a7i)
Instrumentation
- Karmada images now are signed with cosign. (3434, @liangyuanpeng)
- Removed specific labels from the following metrics of
karmada-controller-manager
to reduce the metrics count:- resource_match_policy_duration_seconds: removed
apiVersion
/kind
/name
/namespace
. - resource_apply_policy_duration_seconds: removed
apiVersion
/kind
/name
/namespace
. - policy_apply_attempts_total: removed
namespace
/name
. - binding_sync_work_duration_seconds: removed
namespace
/name
. - work_sync_workload_duration_seconds: removed
namespace
/name
. (#3795, @jwcesign)
- resource_match_policy_duration_seconds: removed
- Introduced the
TaintClusterSucceed
event toCluster
object and mergedTaintClusterByConditionFailed
andRemoveTargetClusterFailed
toTaintClusterFailed
. (#2736, @Poor12) - Introduced
cronfederatedhpa_process_duration_seconds
andcronfederatedhpa_rule_process_duration_seconds
metrics for CronFederatedHPA. (#3979, @whitewindmills) - Introduced
federatedhpa_process_duration_seconds
andfederatedhpa_pull_metrics_duration_seconds
for FederatedHPA, which will be emitted bykarmada-controller-manager
. (#3972, @zhy76)