karmada v1.0.0 release
What's New
Aggregated Kubernetes API Endpoint
The newly introduced karmada-aggregated-apiserver
component aggregates all registered clusters and allows users to access member clusters through Karmada by the proxy endpoint, e.g.
- Retrieve `Node` from `member1`: /apis/cluster.karmada.io/v1alpha1/clusters/member1/proxy/api/v1/nodes
- Retrieve `Pod` from `member2`: /apis/cluster.karmada.io/v1alpha1/clusters/member2/proxy/api/v1/namespaces/default/pods
Please refer to user guide for more details.
(Feature contributor: @kevin-wangzefeng @GitHubxsy @XiShanYongYe-Chang @mrlihanbo @jrkeen @prodanlabs @carlory @RainbowMango)
Promoting Workloads from Legacy Clusters to Karmada
Legacy workloads running in Kubernetes now can be promoted to Karmada smoothly without container restart.
In favor of promote
commands added to Karmada CLI, any kind of Kubernetes resources can be promoted to Karmada easily, e.g.
# Promote deployment(default/nginx) from cluster1 to Karmada
kubectl karmada promote deployment nginx -n default -c cluster1
(Feature contributor: @lonelyCZ @iawia002 @dddddai)
Verified Integration with Ecosystem
Benefiting from the Kubernetes native API support, Karmada can easily integrate the single cluster ecosystem for multi-cluster, multi-cloud purpose. The following components have been verified by the Karmada community:
argo-cd
: refer to working with argo-cdFlux
: refer to propagating helm charts with fluxIstio
: refer to working with IstioFilebeat
: refer to working with FilebeatSubmariner
: refer to working with SubmarinerVelero
: refer to working with VeleroPrometheus
: refer to working with Prometheus
(Feature contributor: @lfbear @learner0810 @zirain @Rains6 @gy95 @XiShanYongYe-Chang )
OverridePolicy Improvements
By leverage of the new-introduced RuleWithCluster
fields to OverridePolicy
and ClusterOverridePolicy
, users are now able to define override policies with a single policy for specified workloads.
(Feature contributor: @iawia002 @lfbear @RainbowMango @lonelyCZ @jameszhangyukun )
Karmada Installation Improvements
Introduced init
command to Karmada CLI
. Users are now able to install Karmada by a single command.
Please refer to Installing Karmada for more details.
(Feature contributor: @prodanlabs @lonelyCZ @jrkeen )
Configuring Karmada Controllers
Now all controllers provided by Karmada work as plug-ins. Users are now able to turn off any of them from the default enabled list.
See --controllers
flag of karmada-controller-manager
and karmada-agent
for more details.
(Feature contributor: @snowplayfire @iawia002 @jameszhangyukun )
Resource Interpreter Webhook Enhancement
Introduced ReviseReplica
support for the Resource Interpreter Webhook
framework, which enables scheduling all customized workloads just like Kubernetes native ones.
Refer to Resource Interpreter Webhook Proposal for more design details.
(Feature contributor: @iawia002)
Other Notable Changes
Bug Fixes
karmada-controller-manager
: Fixed the issue that the annotation of resource template cannot be updated. (@mrlihanbo #1012)karmada-controller-manager
: Fixed the issue of generating binding reference key. (@JarHMJ #1003)karmada-controller-manager
: Fixed the inefficiency of en-queue failed task issue. (@Garrybest #1068)
Features & Enhancements
Karmada CLI
: Introduced--cluster-provider
flag tojoin
command to specify provider of joining cluster. (@2hangchen #1025)Karmada CLI
: Introducedtaint
command to set taints for clusters. (@lonelyCZ #889)Karmada CLI
: TheApplied
condition ofWork
andScheduled/FullyApplied
ofResourceBinding
are available forkubectl get
. (@lonelyCZ #1110)karmada-controller-manager
: The cluster discovery feature now supportsv1beta1
ofcluster-api
. (@iawia002 #1029)karmada-controller-manager
: TheJob
'sstartTime
andcompletionTime
now available at resource template. (@Garrybest #1034)karmada-controller-manager
: introduced--controllers
flag to enable or disable controllers. (@snowplayfire #1083)karmada-controller-manager
: Support retainownerReference
from observed objects. (@snowplayfire #1116)karmada-controller-manager
andkarmada-agent
: Introducedcluster-cache-sync-timeout
flag to specify the time waiting for cache sync. (@snowplayfire #1112)
Instrumentation (Metrics and Events)
karmada-scheduler-estimator
: Introduced/metrics
endpoint to emit metrics. (@Garrybest #1030)- Introduced
ApplyPolicy
andScheduleBinding
events for resource template. (@mrlihanbo #1070)
Deprecation
- The
ReplicaSchedulingPolicy
API deprecated at v0.9.0 now has been removed in favor ofReplicaScheduling
ofPropagationPolicy
. (@iawia002 #1161)
Contributors
Thank you to everyone who contributed to this release!
Users whose commits are in this release (alphabetically by user name)
- @2hangchen
- @aven-ai
- @BDXGD
- @carlory
- @dddddai
- @eightzero
- @fanzhihai0215
- @feeltimeQ
- @fleeto
- @Garrybest
- @ghl116
- @gy95
- @haiker2011
- @Haleygo
- @iawia002
- @imroc
- @JackZxj
- @jameszhangyukun
- @JarHMJ
- @jrkeen
- @kevin-wangzefeng
- @leonharetd
- @lfbear
- @lonelyCZ
- @mrlihanbo
- @Phil-sun
- @pigletfly
- @prodanlabs
- @RainbowMango
- @Rains6
- @Shike-Ada
- @snowplayfire
- @wawa0210
- @XiShanYongYe-Chang
- @zirain