77 lines
5.5 KiB
Markdown
77 lines
5.5 KiB
Markdown
# 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.
|
|
|
|
|
|
## 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.
|
|
|
|
```shell
|
|
# Promote deployment(default/nginx) from cluster1 to Karmada
|
|
kubectl karmada promote deployment nginx -n default -c cluster1
|
|
```
|
|
|
|
|
|
## 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-cd](https://github.com/karmada-io/website/blob/main/docs/userguide/cicd/working-with-argocd.md)
|
|
- Flux: refer to [propagating helm charts with flux](https://github.com/karmada-io/karmada/issues/861#issuecomment-998540302)
|
|
- Istio: refer to [working with Istio](https://github.com/karmada-io/website/blob/main/docs/userguide/service/working-with-istio-on-flat-network.md)
|
|
- Filebeat: refer to [working with Filebeat](https://github.com/karmada-io/website/blob/main/docs/administrator/monitoring/working-with-filebeat.md)
|
|
- Submariner: refer to [working with Submariner](https://github.com/karmada-io/website/blob/main/docs/userguide/network/working-with-submariner.md)
|
|
- Velero: refer to [working with Velero](https://github.com/karmada-io/website/blob/main/docs/administrator/backup/working-with-velero.md)
|
|
- Prometheus: refer to [working with Prometheus](https://github.com/karmada-io/website/blob/main/docs/administrator/monitoring/working-with-prometheus.md)
|
|
|
|
|
|
## 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.
|
|
|
|
## 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](https://github.com/karmada-io/website/blob/main/docs/installation/installation.md) for more details.
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
## 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](../proposals/resource-interpreter-webhook/README.md) for more design details.
|
|
|
|
|
|
# Other Notable Changes
|
|
## Bug Fixes
|
|
- `karmada-controller-manager`: Fixed the issue that the annotation of resource template cannot be updated. [#1012](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager`: Fixed the issue of generating binding reference key. [#1003](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager`: Fixed the inefficiency of en-queue failed task issue. [#1068](https://github.com/karmada-io/karmada/pull/1025)
|
|
## Features & Enhancements
|
|
- `Karmada CLI`: Introduced `--cluster-provider` flag to `join` command to specify provider of joining cluster. [#1025](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `Karmada CLI`: Introduced `taint` command to set taints for clusters. [#889](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `Karmada CLI`: The Applied condition of Work and `Scheduled/FullyApplied` of `ResourceBinding` are available for `kubectl get`. [#1110](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager`: The cluster discovery feature now supports `v1beta1` of `cluster-api`. [#1029](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager`: The `Job`'s `startTime` and `completionTime` now available at resource template. [#1034](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager`: introduced `--controllers` flag to enable or disable controllers. [#1083](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager`: Support retain `ownerReference` from observed objects. [#1116](https://github.com/karmada-io/karmada/pull/1025)
|
|
- `karmada-controller-manager` and `karmada-agent`: Introduced `cluster-cache-sync-timeout` flag to specify the time waiting for cache sync. [#1112](https://github.com/karmada-io/karmada/pull/1025)
|
|
## Instrumentation (Metrics and Events)
|
|
- `karmada-scheduler-estimator`: Introduced `/metrics` endpoint to emit metrics. [#1030](https://github.com/karmada-io/karmada/pull/1025)
|
|
- Introduced `ApplyPolicy` and `ScheduleBinding` events for resource template. [#1070](https://github.com/karmada-io/karmada/pull/1025)
|
|
## Deprecation
|
|
- The `ReplicaSchedulingPolicy` API deprecated at v0.9.0 now has been removed in favor of `ReplicaScheduling` of `PropagationPolicy`. [#1161](https://github.com/karmada-io/karmada/pull/1025)
|