---
layout: docs
page_title: Self Hosted Kubernetes
description: Installing Consul on Self Hosted Kubernetes
---

# Self Hosted Kubernetes

Except for creating persistent volumes (see below), installing Consul on your
self-hosted Kubernetes cluster is the same process as installing Consul on a
cloud-hosted Kubernetes cluster. See the [Installation Overview](/docs/k8s/installation/install)
for install instructions.

## Predefined Persistent Volume Claims (PVCs)

If running a self-hosted Kubernetes installation, you mean need to pre-create
the persistent volumes for the stateful set that the Consul servers run in.

The only way to use a pre-created PVC is to name them in the format Kubernetes expects:

```text
data-<kubernetes namespace>-<helm release name>-consul-server-<ordinal>
```

The Kubernetes namespace you are installing into, Helm release name, and ordinal
must match between your Consul servers and your pre-created PVCs. You only
need as many PVCs as you have Consul servers. For example, given a Kubernetes
namespace of "vault," a release name of "consul," and 5 servers, you would need
to create PVCs with the following names:

```text
data-vault-consul-consul-server-0
data-vault-consul-consul-server-1
data-vault-consul-consul-server-2
data-vault-consul-consul-server-3
data-vault-consul-consul-server-4
```
