[CNCF Sandbox Project] Managing your Kubernetes clusters (including public, private, edge, etc.) as easily as visiting the Internet
This release introduces multiple scheduling features, such as feature gate FailOver
will migrate workloads from not-ready clusters to healthy spare clusters, feature gate FeasibleClustersToleration
could tolerate failures on feasible clusters for dynamic scheduling with predictors.
In this release, we also improve the performance and efficiency to deploy applications to child clusters.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.15.0...v0.16.0
Thanks to all contributors!
This is a patch version to fix GHSA-833c-xh79-p429.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.15.1...v0.15.2
This is a patch version of v0.15.0.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.15.0...v0.15.1
On Mar 4th, Clusternet was approved to join CNCF as a Sandbox project. 🎉🎉🎉 Thanks for the endeavour of the whole community. It was a HUGE milestone. ⛳⛳⛳
This release introduces a new component clusternet-controller-manager
, which inherits the capabilities from clusternet-hub
. With this new component, clusternet-hub
will focus on serving as an apiserver to provide shadow APIs and peer connections.
In this release, we also add new features and make multiple enhancements, such as simplifying cobra commands with common boilerplate codes and use named flagsets, migrating legacy self-cluster lease, adding metrics for Clusternet components, etc.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.14.0...v0.15.0
Thanks to all contributors!
This release improved the stability and introduced metrics for clusternet-hub
. A critical bug, which led to unexpected feed deletions when clusternet-agent
and clusternet-hub
were running in the same cluster, was fixed as well. A new option ReplaceCRDs
was introduced for HelmChart
, which may help mitigate the annoying CRDs updating issues in the Helm community.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.13.0...v0.14.0
Thanks to all contributors!
version
package by @mars1024 in https://github.com/clusternet/clusternet/pull/523
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.12.0...v0.13.0
This release brings Clusternet to a "discovery" world. Clusters creating by cluster-api will be discovered automatically and registered to parent cluster. Auto-labelling for managed clusters is also available now. By integrating mcs-api, multi-cluster services are discoverable and accessible across clusters with a virtual IP.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.11.0...v0.12.0
peer-advertise-address
for clusternet-hub
(by @dixudx in https://github.com/clusternet/clusternet/pull/443)clusternet-
(by @dixudx in https://github.com/clusternet/clusternet/pull/491)io/ioutil
package with io
package (by @0xff-dev in https://github.com/clusternet/clusternet/pull/449)v3.8.2
to solve memory leak (by @DanielXLee in https://github.com/clusternet/clusternet/pull/495)MaxHistory
for chart Upgrade
action (by @dixudx in https://github.com/clusternet/clusternet/pull/485)TargetClusters
(by @yinsenyan in https://github.com/clusternet/clusternet/pull/487)WHAT
param to specify building targets (by @dixudx in https://github.com/clusternet/clusternet/pull/424)Thanks to all contributors!
This release brings in multiple fantastic features and improves the performance. This is a big update of Clusternet
. Running clusternet-hub
with high availability is possible now. And the performance of clusternet-scheduler
is improved as well. Dynamic replica scheduling is fully supported. Applications with multiple replicas can be divided and scheduled to multiple clusters based on cluster dynamic capacity. Please check out this tutorial. Moreover, the aggregated statuses of all deployed resources can be shown by visiting the status of Subscription
.
Full Changelog: v0.10.0...v0.11.0
clusternet-hub
high availability (by @dixudx in https://github.com/clusternet/clusternet/pull/378, https://github.com/clusternet/clusternet/pull/405, https://github.com/clusternet/clusternet/pull/411 and by @xrmzju in https://github.com/clusternet/clusternet/pull/387)Subscription
. For every feed/resource, you can check the detailed status (field feedStatusDetails
) per cluster and the summarized status (field feedStatusSummary
) of all clusters in status.aggregatedStatuses
.Dynamic
for clusternet-scheduler
. Applications with multiple replicas now can be divided and scheduled to multiple clusters based on cluster dynamic capacity. (by @Garrybest in https://github.com/clusternet/clusternet/pull/366, https://github.com/clusternet/clusternet/pull/395, https://github.com/clusternet/clusternet/pull/400, https://github.com/clusternet/clusternet/pull/419). Default predictors run on every clusternet-agent
, external predictors had been supported as well (by @yinsenyan in https://github.com/clusternet/clusternet/pull/367 and @dixudx in https://github.com/clusternet/clusternet/pull/418). Learn more from this tutorial.clusternet-scheduler
(by @Garrybest in https://github.com/clusternet/clusternet/pull/383, https://github.com/clusternet/clusternet/pull/399, https://github.com/clusternet/clusternet/pull/388)node.clusternet.io/
from nodes in child clusters (@lmxia in https://github.com/clusternet/clusternet/pull/396, https://github.com/clusternet/clusternet/pull/413). If all nodes of a child cluster have such common labels, then these labels will be aggregated and updated to its corresponding ManagedCluster
object.--use-metrics-server=true
on clusternet-agent
side (by @GeorgeGuo2018 in https://github.com/clusternet/clusternet/pull/362, https://github.com/clusternet/clusternet/pull/365 and @DanielXLee in https://github.com/clusternet/clusternet/pull/421)kubectl clusternet
plugin having consistent user experience with kubectl
(by @lmxia in https://github.com/clusternet/clusternet/pull/384)ExecSync
API. This can cause containerd to consume all available memory on the computer, denying service to other legitimate workloads. Kubernetes and crictl can both be configured to use containerd's CRI implementation; ExecSync
may be used when running probes or when executing processes via an "exec" facility. (by @dixudx in https://github.com/clusternet/clusternet/pull/364)Thanks to all contributors!
This release introduced a new concept predictor
. It is a on-going feature, which will be fully available in next release (v0.11.0). With predictor
, we could dynamically schedule replicas to child clusters that have the capacity to hold them. Also in this release, we optimized the scheduler framework, making it more adaptable to multiple cluster scenarios. A new feature on cluster-aware Globalization was introduced as well. Meantime, we improved user experience on trying Clusternet with kind
and Docker Desktop.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.9.1...v0.10.0
predictor
, which can be used to predict containable replicas in each matching child clusters. This is a on-going feature, which will be fully available in next release (v0.11.0). In this release, following tasks were finished,
predictor
. (by @yinsenyan in https://github.com/clusternet/clusternet/pull/354)clusternet-agent
. (by @yinsenyan in https://github.com/clusternet/clusternet/pull/344, by @qianjun1993 in https://github.com/clusternet/clusternet/pull/355)--threadiness
for hub. (by @DanielXLee in https://github.com/clusternet/clusternet/pull/314)ManagedCluster
status. (by @jasine in https://github.com/clusternet/clusternet/pull/311)AlreadyExists
error for shadow apis (by @dixudx in https://github.com/clusternet/clusternet/pull/316, https://github.com/clusternet/clusternet/pull/330)apps.clusternet.io/owned-by-description
was changed to annotation to avoid label length limit. (by @silenceper in https://github.com/clusternet/clusternet/pull/327)-v 4
) to avoid log flooded. (by @dixudx in https://github.com/clusternet/clusternet/pull/320)Unmarshal
function in Go-Yaml v3 causes the program to crash when attempting to deserialize invalid input. (by @dixudx in https://github.com/clusternet/clusternet/pull/348)Thanks to all contributors!
This is a patch version for v0.9.0.