Consul can run in each Kubernetes cluster as a server, a client, or both. If a data center has combinations of applications in VMs and in Kubernetes, it is possible to place Consul servers in a VM as well as in the Kubernetes environment. Similarly, the Consul agent should run on every VM and on each Kubernetes node as a daemon set. Consul forms a cluster automatically in a heterogeneous environment consisting of bare-metal machines, VMs, and Kubernetes.
To install Consul in Kubernetes, we'll need persistent volumes so that Consul can store cluster data in its key/value store. Let's create these first.