Create Virtual Cluster
Each virtual cluster that is created in the platform belongs to a project. There are two primary ways which virtual clusters can be created: from a template or manually.
Virtual clusters created from a template inherit all template settings. Standard project users (non project admins) are only allowed to create virtual clusters from templates that the project admin has allowed. This ensures that virtual clusters in each project adhere to the standards set by the project admin(s).
Project admins and platform admins can create virtual clusters manually, that is without a template.
Create From Template
Project members can create a new virtual cluster through the UI or CLI:
- UI
- CLI
From the project drop-down menu (top left corner), select the project you'd like to create the virtual cluster in.
Click on Virtual Clusters.
Click the button.
In the pop-up box, select your template from the template drop down menu.
[Optional] Select the cluster in which to create the virtual cluster.
[Optional] Add a name for your virtual cluster.
Click the to continue.
Retrieve a kube-context for a virtual cluster using the CLI:
vcluster connect [vcluster-name] --project [project-name] --manager platform
When creating a virtual cluster from the vCluster CLI, you will need to provide the name of the project in which to deploy the virtual cluster, and the name of template to use:
vcluster create [vcluster-name] --project [project-name] --template [template-name] --manager platform
If you omit specifying a template, vCluster Platform will automatically select one for you (if there is a default template in the project specified) or prompt you to select a template.
Running vcluster create
will automatically add a kube-context to your kube-config file,
so you can immediately run kubectl
commands right after creating a virtual cluster.
Regardless of how you create a virtual cluster from a template, either by the UI or the CLI, you will be prompted to provide a template version string. If you do not provide this string, the latest
version will be automatically selected for you. If you do provide the string though, you can
do something very neat -- you can set any of the MAJOR, MINOR, PATCH version components to an
X
wildcard character. This allows the virtual cluster to be automatically updated to a more recent
template version that matches your provided template string.
For example, given a template with a version of 1.0.0, and a virtual cluster created from this template with a version string "1.X.X". Adding a new template version "1.1.0", will cause this virtual cluster to be automatically updated. Whereas adding a new version "2.0.0", will not cause the virtual cluster to be upgraded.
This is a very handy way to keep virtual clusters up to date with the latest templates without having to manually upgrade them!
Note that you can even set the version to "X.X.X" to always have your virtual cluster updated to the latest template version!
Create Without Template
Only project admins or platform admins can create a virtual cluster without a template:
From the project drop-down menu (top left corner), select the project you'd like to create the virtual cluster in.
Click on Virtual Clusters.
Click the button.
In the popup, confirm that the virtual cluster template field is empty.
[Optional] Select the cluster in which to create the virtual cluster.
[Optional] Add a name for your virtual cluster.
Click the to continue.
In the drawer that appears from the right, update the virtual cluster with any additional desired configuration options.
The Definition tab contains settings relating to the virtual cluster deployment itself, here you can provide Helm values to be used when deploying the virtual cluster, select the virtual cluster distribution (e.g. k8s (default), k3s, k0s), as well as configurations for sleep mode and ingress access.
Objects is where you can define Kubernetes manifests that should be created in the virtual cluster.
Apps allows you to select any pre-defined 'applications' (e.g. Cert Manager) that should be installed into the virtual cluster.
Permissions are additional access rules that can be defined for the virtual cluster instance.
Advanced Options allow for advanced configuration different resources.
tipAll configuration options in a vCluster defined in the
vcluster.yaml
can be manually configured when creating any virtual cluster. Read more about thevcluster.yaml
configuration options.Click the button.
Retrieve a kube-context for a virtual cluster using the CLI:
vcluster connect [vcluster-name] --project [project-name] --manager platform