[CNCF Sandbox Project] Managing your Kubernetes clusters (including public, private, edge, etc.) as easily as visiting the Internet
This version introduced static diving scheduling which would help splitting workloads into multiple clusters. For example, if you want to deploy a Deployment
with a total of 6 replicas to 2 clusters ("cluster-01" with weight 1, "cluster-02" with weight 2), then "cluster-01" will run such a Deployment
with 2 replicas, "cluster-02" runs the other 4 replicas. Please learn more from this tutorial. Several new fields spec.overrides
and spec.releaseName
were introduced for HelmRelease
. Multiple bugs were fixed as well, such as crd storage race condition, in-deleting Description
rolling back, etc.
Please use patch version v0.9.1 instead!!!
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.8.0...v0.9.0
spec.overrides
for HelmRelease
. (by @dixudx in https://github.com/clusternet/clusternet/pull/272)spec.releaseName
(default to the same value as HelmChart
name) in HelmRelease
, which is backwards compatible. (by @dixudx in https://github.com/clusternet/clusternet/pull/269)/healthz
to report the status of managed clusters whose Kubernetes versions are under v1.16. (by @rootdeep in https://github.com/clusternet/clusternet/pull/291)FeedInventory
was introduced as well.Description
(by @dixudx in https://github.com/clusternet/clusternet/pull/301)ownerReferences
with NewControllerRef
. (by @dixudx in https://github.com/clusternet/clusternet/pull/294)This version mainly introduced OCI-based Helm charts. Clusternet is the first project that supports this feature in multiple cluster management. Also unexpected operations (like deleting, updating) that occurred solely inside a child cluster will be rolled back automatically unless those were made explicitly from parent cluster, which kept applications running more stable in child clusters. Kubernetes v1.23 was fully supported as well.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.7.0...v0.8.0
5m0s
was applied to helm deployer, which stayed the same with Helm
command line (by @dixudx in #225)app.kubernetes.io/component
was added when finding kube-apiserver pod (by @fangyuchen86 in #227)Recovery
was added as well (by @dixudx in #226).github.com/containerd/containerd
to 1.5.10
to mitigate CVE-2022-23648 (by @dixudx in #258)Thanks to all contributors in this release.
The 7th release of Clusternet ! 🦌🦌🦌🎅🎄🎄🎄
Merry Christmas!
This version mainly focuses on supporting scheduler framework, fully supporting k3s
and improving the stability of deploying applications to child clusters.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.6.0...v0.7.0
clusternet-scheduler
, which is base on scheduler framework (by @dixudx in #204, #217, #221)clusternet-hub
on k3s (by @dixudx in #209)clusternet-system
, clusternet-reserved
(by @dixudx in #205, #211, #216, #219)kubectl-clusternet
plugin v0.5.0
introduced new flags --cluster-id
and --child-kubeconfig
. This made it easier to visit child clusters through parent cluster using CLI, instead of constructing a complicated and dedicated kubeconfig (by @dixudx in #214)Manifest
name with hyphens (by @dixudx in #83)Description
when HelmChart
got changed (by @DanielXLee in #202)github.com/opencontainers/image-spec
(GHSA-77vh-xpmg-72qh) and github.com/containerd/containerd
(GHSA-5j5w-g665-5m35) (by @dixudx in #188)github.com/opencontainers/runc
to v1.0.3
to mitigate vulnerability CVE-2021-43784 (Overflow in netlink bytemsg length field allows attacker to override netlink-based container configuration) (by @dixudx in #198)ManagedCluster.Status.ParentAPIServerURL
(by @dixudx in #165)🥳🥳🥳 The sixth release of Clusternet comes!
This version mainly focuses on supporting Kubernetes version skew and improving the stability of deploying applications to child clusters.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.5.0...v0.6.0
kube-apiserver
running in parent cluster sets flag --anonymous-auth
to false
explicitly.HelmChart
, was not referred as a feed by Subscription
/Base
any more, redundant uid labels should be pruned. (by @dixudx in #92)clusternet-hub
used in-cluster url instead of deprecated ParentAPIServerURL
when accessing child clusters. (by @dixudx in #164)metrics.k8s.io
should be ignored to avoid same resource names with corev1
. (by @dixudx in #166)Description
would be reconciled when applying failed. (@DanielXLee in #181)🥳🥳🥳 Clusternet Fifth Release !
Clusternet (Cluster Internet) is an open source add-on that helps you manage thousands of millions of Kubernetes clusters as easily as visiting the Internet. No matter the clusters are running on public cloud, private cloud, hybrid cloud, or at the edge, Clusternet lets you manage/visit them all as if they were running locally. This also help eliminate the need to juggle different management tools for each cluster.
Clusternet can also help deploy and coordinate applications to multiple clusters from a single set of APIs in a hosting cluster.
Full Changelog: https://github.com/clusternet/clusternet/compare/v0.4.0...v0.5.0
ApplyNow
that will apply overrides for matched objects immediately, including those are already populated (by @dixudx in #112)Localization
or Globalization
, which means current superposed overrides will be re-deduced (by @dixudx in #151)scale
as a standalone subresource (by @dixudx in #145, #152)continue
value when listing in chunks (by @dixudx in #131)Description
that are no longer subscribed (by @dixudx in #143)HelmRelease
when overrides get changed (by @dixudx in #150, #153)🎉 🎉 🎉 Clusternet Fourth Release !
Clusternet (Cluster Internet) is an open source add-on that helps you manage thousands of millions of Kubernetes clusters as easily as visiting the Internet. No matter the clusters are running on public cloud, private cloud, hybrid cloud, or at the edge, Clusternet lets you manage/visit them all as if they were running locally. This also help eliminate the need to juggle different management tools for each cluster.
Clusternet can also help deploy and coordinate applications to multiple clusters from a single set of APIs in a hosting cluster.
Localization
and Globalization
will define the overrides with priority (ranging from 0 to 1000, default to 500), where lower numbers are considered lower priority. Localization
is namespace-scoped resource, while Globalization
is cluster-scoped. (by @dixudx in #58,#81 and @qmhu in #61)
ApplyLater
overrideType is supported, which means these overrides will be applied for all matched objects on next updates (including updates on Subscription, Manifest, HelmChart, etc) or newly created objects.ManagedCluster
status (by @DanielXLee in #68)FeedInUseProtection
to automatically inject finalizer apps.clusternet.io/feed-protection
on new objects and removes corresponding feeds from Subscriptions when deleting objects that do not have finalizer apps.clusternet.io/feed-protection
(by @dixudx in #77)ClusterType
on cluster regsitration (by @dixudx in #94)The common platform binaries are here:
OS Arch | Checksum |
---|---|
Linux i386 | 887b091e43ec342fc773ea24b86ac431929269e2390d645872cacb4b5c30f921 |
Linux amd64 | f4984b2b900d296423aeff4fcbcc41d6fb693c872a9e43c36a82dfea77134cb9 |
Linux arm | 6bdc655e384de105fc7ac9a66aa9a2c39795b3daae3a8c7f48f8cb6239d71326 |
Linux arm64 | 9945b8229c9953db50505a21b8b97c312b919180f164989415d72de0e56bc14a |
Linux ppc64le | fc070aba3bc5a6bfaf907ea1182cb65465a709a823f34b1042e7914a8212bbab |
Linux s390x | 2363e9012cdaebf0db478f0a93fb1dd94a8ac44d94ed96614ec1568aa3066a43 |
🎉 🎉 🎉 Third Release! v0.3.0 !
Clusternet (Cluster Internet) is an open source add-on that helps you manage thousands of millions of Kubernetes clusters as easily as visiting the Internet. No matter the clusters are running on public cloud, private cloud, hybrid cloud, or at the edge, Clusternet lets you manage/visit them all as if they were running locally. This also help eliminate the need to juggle different management tools for each cluster.
Clusternet can also help deploy and coordinate applications to multiple clusters from a single set of APIs in a hosting cluster.
ManagedCluster.Status.UseSocket
is true (#30)Localization
, Globalization
, and Base
to apps/v1alpha1
(#23)shadow/v1alpha1
, and use feature gate ShadowAPI
to enable serving apiserver for shadow apis / GVKs, such as apps/v1
, batch/v1
, extensions/v1beta1
and etc (#35, #39, #41, #45)Deployments
, StatefulSet
, Namespace
, CRDs, etc, with generic deployer (#49, #48, #46)The common platform binaries are here:
OS Arch | Checksum |
---|---|
MacOS amd64 | 706ca01fe677e0c1ec879f6547e3d54e82994fd6897e20157e575026ca20b762 |
MacOS arm64 | 50b0f20a7945c3bdfed9dd12ab39eff83e9f4bb00a5eeb1e61896407efae8e6e |
Linux i386 | 77d1974b832f9e057cdd0ae233b41c8b9d60ca8c8a7dc62de950427f53fa9759 |
Linux amd64 | eae53a9aaf2ac14fd4690fbac818f40df7765509abb3fa593dcd01328e18cf2b |
Linux arm | d5617c160dd3b2c319edb5b5581a0ac385ea905a36f78a0bbb7c86467812d4dc |
Linux arm64 | 151644b5393a7cc05e63798b0bdca1843ff4f0c18f0396b68a8b2802505d76bd |
Linux ppc64le | 6ecf3aff2c0e85b92872be0e8da1e3271388c0989f335abb866bb78bbf5221ca |
Linux s390x | b656840889b6994f06188e997bc7fd99914c7c7d74249c3201663470b3447cd0 |
:tada: :tada: :tada:Second Release! v0.2.0 !
Clusternet (Cluster Internet) is an open source add-on that helps you manage thousands of millions of Kubernetes clusters as easily as visiting the Internet. No matter the clusters are running on public cloud, private cloud, hybrid cloud, or at the edge, Clusternet lets you manage/visit them all as if they were running locally. This also help eliminate the need to juggle different management tools for each cluster.
Clusternet can also help deploy and coordinate applications to multiple clusters from a single set of APIs in a hosting cluster.
edge-system
to clusternet-system
(#4)sockets/proxy
(#18)apps/v1alpha1
, which includes HelmChart
, Subscription
, Description
, HelmRelease
(#13)Deployer
to allow clusternet-hub
working as a deployer to distribute kinds of resources to a group of clusters (#13)Push
, Pull
, and Dual
(#12)AppPusher
to fasten seat belt of child clusters (#11). With regard to security of child clusters, deploying applications directly from parent cluster should be limited. A more configurable way is provided here.The common platform binaries are here:
OS Arch | Checksum |
---|---|
MacOS amd64 | 633c8b52f4dd67a7a3c4f2be0ecbd4665d3f8c455f76e8a6038ecb6b6e24069b |
MacOS arm64 | 08df33a46bb593c3a5bcf2e23eb2258ed75c8b2167a94666185d4566c05a2b48 |
Linux i386 | f3c78a884b187c0f49dc7f5a04b378b305ef8b04ad9785ee3fac3711d1bee878 |
Linux amd64 | 03979f5653b9fc89a7aa2a157de653d2121922d8ade4f9df9be2779a53d2db51 |
Linux arm | 689423d9e97babcba31d9b609dd46b456c41a9e98a086647583ea8e64f149c55 |
Linux arm64 | 58537016a150b742e3270bcf3bedc93520caae87456a541eecbbca978b9c402c |
Linux ppc64le | 4421ec3a3cb2dd4e7c6e3432ab0280ec87357f7170ab4bd671ad30c4387feb72 |
Linux s390x | a8fabd9dd424f337714f27140e76309acbaa8c39107071a52536de57271d4dc8 |
âš¡ âš¡ âš¡ First Release!
This is the first release of Clusternet
, which is aimed to help manage multiple Kubernetes clusters (including public, private, edge, etc) as easily as visiting the Internet.
Clusternet
consists of two components, clusternet-agent
and clusternet-hub
.
And Clusternet
is multiple platforms supported, including linux/amd64
, linux/arm64
, linux/s390x
, etc.
clusternet-hub
in the parent cluster to provide full-duplex communication channels over a single TCP connectionThe common platform binaries are here:
OS Arch | Checksum |
---|---|
MacOS amd64 | 1594051bf314760f4e24e1aa5724ade82caff19d36be36b9ccfe071e10b29a87 |
MacOS arm64 | 6eb331b649e4e45171038f28227d217d40a9f5244067b9b170796b970139c476 |
Linux i386 | 06ee6a40227bfe6b560078da16d10f89af910fba5aaad3998c2025782412bcef |
Linux amd64 | 45add7008e56e836e27ef8caa66f24c881bf79714fd57238caec9b1490e17d49 |
Linux arm | 7e7f327ab58cfdc180804d136af76dd951bbe8b98741ad687ff9099092e16405 |
Linux arm64 | 2e4708f52e8750294b985e775820cf28b1541512ca80f41aa1900d8ff5851474 |
Linux ppc64le | 610e0301b7eebaa3bc41e842e898fc5ba21c02c823879bc3d4c3d107e71b0a90 |
Linux s390x | c46ea0c3601ed1de260a5cbcc2b6b0526964c8c862d19398b36a8f0fd24b72df |