loft-sh / vcluster

vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
https://www.vcluster.com
Apache License 2.0
6.26k stars 398 forks source link

Allow adding custom nodes #986

Open shenkonghui opened 1 year ago

shenkonghui commented 1 year ago

Is your feature request related to a problem?

First of all, vcluster is very easy to use,but there are some limitations. For example, I only have a physical machine with large memory and CPU, I can only build a single node K8s. And I want multiple nodes in vcluster. I hope add slave node with k3s. on pod or another machine.

Which solution do you suggest?

for example a fully virtual cluster, I would like to have a choice of not synchronizing the data of the host cluster, a completely independent control platform, and the freedom to add k3s slave.

Which alternative solutions exist?

No response

Additional context

No response

FabianKramm commented 1 year ago

Hello @shenkonghui ! Adding only nodes to vcluster is a difficult topic as networking would be difficult as pods that run on these nodes wouldn't be reachable by pods that run on the host cluster and vice versa. The idea already came up, but I'm not sure there is actually a satisfying way to do this.

adecusati commented 1 month ago

Hello @shenkonghui ! Adding only nodes to vcluster is a difficult topic as networking would be difficult as pods that run on these nodes wouldn't be reachable by pods that run on the host cluster and vice versa. The idea already came up, but I'm not sure there is actually a satisfying way to do this.

Is this a problem of all the pods run only on the custom nodes that are joined to the vcluster?

The use case we have is that we want a platform team to manage all the control plane components, but we want to enable developers to run workloads in their own accounts, for compliance reasons. We essentially want to be able to provide a service like EKS for our internal customers. Hosting the control planes in vcluster would greatly simplify management for the platform team, and if we could share the control plane API with our internal customers (ex. with privatelink) so they could join and manage their own resources, it would provide them with isolation and control over their own resources.