Replies: 11 comments
-
@guettli thanks for the question and for the interest in Kamaji. Despite the apparent similarities, Kamaji delivers "true clusters" on a large scale. Unlike vClusters where user workloads run on shared worker nodes, in Kamaji each tenant has its own set of node pools, kept isolated from each other at the infra level. In other words, vCluster provides soft multi-tenancy where Kamaji provides hard. You can reach out to project leaders on Kubernetes Slack #kamaji and continue the discussion. |
Beta Was this translation helpful? Give feedback.
-
Adding my perspective along with the correct answer by @bsctl. Kamaji aims to solve the Day-2 operation issues by automating dull tasks like certificate rotation, setup, bootstrap, upgrade, and HA with the disruptive approach of running Kubernetes in Kubernetes. The latter one could look not so disruptive, tho, since several solutions are already running "containerized" control planes, like Vcluster, or Nested CAPI. Kamaji is offering an opinionated approach, although making it configurable according to the desired strategy by the cluster administrator: the multi-cluster management is achieved by using multi-tenancy and shifting it from the infrastructure level (virtual machines) to the Kubernetes-user one, leveraging the multi-tenant capabilities of the underlying datastore drivers. A Control Plane is essentially a stateful application made of a DB (the datastore) and a stateless set of components. With that said, using the Operator pattern, we coded how to operate a Kubernetes cluster to let it run at scale in a fashioned automated way. Furthermore, the Operator pattern and the Pod-based solution allow blazing-fast provisioning and reconciliation phases: in the fastest scenarios, a new Control Plane was ready and provisioned in 16 seconds, and an upgrade required barely 10 seconds. You can use a Datastore for each Control Plane, one per Tenant, one for all: it's up to you, Kamaji must be considered a framework to let your organization act as a Kubernetes-managed service provider. tl;dr: focused on Day-2 and production-grade clusters to run at scale as any hyper scaler with a limited operational burden. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your answers. Why not explain the difference to vCluster in the readme? |
Beta Was this translation helpful? Give feedback.
-
It looks to me like comparing apples and pears. Please, don't take this personally @guettli, I appreciated your question and it's good this is public and tracked as an issue, so anyone looking for |
Beta Was this translation helpful? Give feedback.
-
ok, you are right. For people searching for it, they find the above answer here in the issue. Closing it. Thank you for your fast response. |
Beta Was this translation helpful? Give feedback.
-
Very Professional ! thanks you Gents for this sprit! |
Beta Was this translation helpful? Give feedback.
-
Just FYI, while doing research on virtual control planes I finally found this issue which explained exactly what I expected to find in a readme :-) Kamaji vs Nested CAPI vs vClusters - since they all provide virtual control planes, just differ in w workload plane. |
Beta Was this translation helpful? Give feedback.
-
@groundnuty there are some similarities between Vcluster and Nested CAPI (aka Virtual Cluster) since they're using a similar component that is syncing resources back and forth between the under and upper clusters. The idea behind Kamaji is to run at scale, such as thousand of nodes and pods that would be critical for a single cluster besides the consideration of the SPOF of such architecture. We're not syncing anything, rather, we're operating the Tenant clusters for Day 2 activities, such as:
Last but not least is a use case we saw rising in the Kamaji ecosystem: you can have a central management cluster and several compute nodes in different locations (such as edge zones, or PoPs). Each worker node in its own boundary is joining the Tenant Control Plane using the provided IP allowing it to start various edge-computing scenarios by distributing applications in a GitOps way or managing the instance lifecycle remotely. I'd say that Kamaji, besides focusing on Day-2, is enabling multiple scenarios rather than the traditional Kubernetes as a Service. |
Beta Was this translation helpful? Give feedback.
-
Just for the records, these goals look similar to https://www.kcp.io/ |
Beta Was this translation helpful? Give feedback.
-
@guettli I went looking at it and it's more similar to vcluster/nested in terms that it has a syncer (best picture I could find from 2021) also if today's documentation is up to date they are quite behind feature-wise: |
Beta Was this translation helpful? Give feedback.
-
Also, keep in mind Kamaji is providing CNCF conformant clusters. |
Beta Was this translation helpful? Give feedback.
-
What is the difference between kamji and vcluster?
Beta Was this translation helpful? Give feedback.
All reactions