65 lines
3.0 KiB
Markdown
65 lines
3.0 KiB
Markdown
|
|
# vcluster
|
|
|
|
## **[GitHub](https://github.com/loft-sh/vcluster)** • **[Website](https://www.vcluster.com)** • **[Quickstart](https://www.vcluster.com/docs/getting-started/setup)** • **[Documentation](https://www.vcluster.com/docs/what-are-virtual-clusters)** • **[Blog](https://loft.sh/blog)** • **[Twitter](https://twitter.com/loft_sh)** • **[Slack](https://slack.loft.sh/)**
|
|
|
|
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.
|
|
|
|
## Prerequisites
|
|
|
|
- Kubernetes 1.18+
|
|
- Helm 3.10.0+
|
|
|
|
## Get Helm Repository Info
|
|
|
|
```bash
|
|
helm repo add loft-sh https://charts.loft.sh
|
|
helm repo update
|
|
```
|
|
|
|
See [helm repo](https://helm.sh/docs/helm/helm_repo/) for command documentation.
|
|
|
|
## Install Helm Chart
|
|
|
|
```bash
|
|
helm upgrade [RELEASE_NAME] loft-sh/vcluster -n [RELEASE_NAMESPACE] --create-namespace --install
|
|
```
|
|
|
|
See [vcluster docs](https://vcluster.com/docs) for configuration options.
|
|
|
|
See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documentation.
|
|
|
|
## Connect to the vcluster
|
|
|
|
In order to connect to the installed vcluster, please install [vcluster cli](https://www.vcluster.com/docs/getting-started/setup) and run:
|
|
|
|
```bash
|
|
vcluster connect [RELEASE_NAME] -n [RELEASE_NAMESPACE]
|
|
```
|
|
|
|
## Uninstall Helm Chart
|
|
|
|
```bash
|
|
helm uninstall [RELEASE_NAME]
|
|
```
|
|
|
|
This removes all the Kubernetes components associated with the chart and deletes the release.
|
|
|
|
See [helm uninstall](https://helm.sh/docs/helm/helm_uninstall/) for command documentation.
|
|
|
|
### Why Virtual Kubernetes Clusters?
|
|
|
|
- **Cluster Scoped Resources**: much more powerful than simple namespaces (virtual clusters allow users to use CRDs, namespaces, cluster roles etc.)
|
|
- **Ease of Use**: usable in any Kubernetes cluster and created in seconds either via a single command or [cluster-api](https://github.com/loft-sh/cluster-api-provider-vcluster)
|
|
- **Cost Efficient**: much cheaper and efficient than "real" clusters (single pod and shared resources just like for namespaces)
|
|
- **Lightweight**: built upon the ultra-fast k3s distribution with minimal overhead per virtual cluster (other distributions work as well)
|
|
- **Strict isolation**: complete separate Kubernetes control plane and access point for each vcluster while still being able to share certain services of the underlying host cluster
|
|
- **Cluster Wide Permissions**: allow users to install apps which require cluster-wide permissions while being limited to actually just one namespace within the host cluster
|
|
- **Great for Testing**: allow you to test different Kubernetes versions inside a single host cluster which may have a different version than the virtual clusters
|
|
|
|
Learn more on [www.vcluster.com](https://vcluster.com).
|
|
|
|

|
|
|
|
Learn more in the [documentation](https://vcluster.com/docs/what-are-virtual-clusters).
|