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 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:

  1. 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:

  1. data-vault-consul-consul-server-0
  2. data-vault-consul-consul-server-1
  3. data-vault-consul-consul-server-2
  4. data-vault-consul-consul-server-3
  5. data-vault-consul-consul-server-4