Consul on Kubernetes Version Compatibility

For every release of Consul on Kubernetes, a Helm chart, consul-k8s-control-plane binary and a consul-k8s CLI binary is built and distributed through a single version. When deploying via Helm, the recommended best path for upgrading Consul on Kubernetes, is to upgrade using the same consul-k8s-control-plane version as the Helm Chart, as the Helm Chart and Control Plane binary are tightly coupled.

Supported Consul and Kubernetes versions

Consul Kubernetes versions all of its components (consul-k8s CLI, consul-k8s-control-plane, and Helm chart) with a single semantic version. When installing or upgrading to a specific versions, ensure that you are using the correct Consul version with the compatible Helm chart or consul-k8s CLI.

Consul versionCompatible consul-k8s versionsCompatible Kubernetes versions
1.16.x1.2.x1.24.x - 1.27.x
1.15.x1.1.x1.23.x - 1.26.x
1.14.x1.0.x1.22.x - 1.25.x

Version-specific upgrade requirements

As of Consul v1.14.0, Kubernetes deployments use Consul Dataplane instead of client agents. If you upgrade Consul from a version that uses client agents to a version that uses dataplanes, you must follow specific steps to update your Helm chart and remove client agents from the existing deployment. Refer to Upgrading to Consul Dataplane for more information.

The v1.0.0 release of the Consul on Kubernetes Helm chart also introduced a change to the externalServers[].hosts parameter. Previously, you were able to enter a provider lookup as a string in this field. Now, you must include exec= at the start of a string containing a provider lookup. Otherwise, the string is treated as a DNS name. Refer to the go-netaddrs library and command line tool for more information.

Supported Envoy versions

Supported versions of Envoy and consul-dataplane (for Consul K8s 1.0 and above) for Consul versions are also found in Envoy - Supported Versions. Starting with consul-k8s 1.0, consul-dataplane will include a bundled version of Envoy. The recommended best practice is to use the default version of Envoy or consul-dataplane that is provided in the Helm values.yaml file, as that is the version that has been tested with the default Consul and Consul Kubernetes binaries for a given Helm chart.

Vault as a Secrets Backend compatibility

Starting with Consul K8s 0.39.0 and Consul 1.11.x, Consul Kubernetes supports the ability to utilize Vault as the secrets backend for all the secrets utilized by Consul on Kubernetes.

consul-k8s VersionsCompatible Vault VersionsCompatible vault-k8s Versions
0.39.0 - latest1.9.0 - latest0.14.0 - latest

Platform specific compatibility notes

Red Hat OpenShift

Consul Kubernetes delivered Red Hat OpenShift support starting with Consul Helm chart version 0.25.0 for Consul 1.8.4. Please note the following details regarding OpenShift support.

  • Red Hat OpenShift is only supported for OpenShift 4.4.x and above.
  • Only the default CNI Plugin, OpenShift SDN CNI Plugin is currently supported.

VMware Tanzu Kubernetes Grid and Tanzu Kubernetes Grid Integrated Edition

Consul Kubernetes is certified for both VMware Tanzu Kubernetes Grid, and VMware Tanzu Kubernetes Integrated Edition.

  • Tanzu Kubernetes Grid is certified for version 1.3.0 and above. Only Calico is supported as the CNI Plugin.
  • Tanzu Kubernetes Grid Integrated Edition is supported for version 1.11.1 and above. NOTE: When deploying Consul K8s 0.49.x and below, NSX-T CNI Plugin v3.1.2 and greater should be used and configured with the enable_hostport_snat setting set to true.