---
title: vCluster Control Plane
sidebar_label: vCluster Control Plane
---

This container contains an API server, controller manager, and a connection (or mount) of the data store. By default, vClusters uses sqlite as a data store and runs the API server and controller manager of k3s, which is a certified Kubernetes distribution and CNCF sandbox project. You can also use a [different data stores, such as etcd, mysql or postgresql](../../deploying-vclusters/persistence.mdx). You are also able to use another Kubernetes distribution as a backing virtual cluster, such as [k0s or vanilla k8s](../../using-vclusters/access.mdx).

Each vCluster has its own control plane consisting of:
- **Kubernetes API** server (point your kubectl requests to this vCluster API server)
- **Data store** (where the API stores all resources, real clusters run with etcd)
- **Controller Manager** (creates pods objects in the data store according to replica number in ReplicaSets etc.)
- **(Optional) Scheduler** (schedules workloads inside the virtual cluster. See [scheduling](../scheduling.mdx) for more info