Consul
Consul on Kubernetes 1.0
Release Highlights
- Simplified Service Mesh Deployments with Consul Dataplane: Consul client agents are no longer deployed by default, and Consul service mesh no longer uses Consul clients to operate. A new component - consul-dataplaneis now injected as a sidecar-proxy instead of plain Envoy.- consul-dataplanemanages the Envoy proxy process and proxies xDS requests from Envoy to Consul servers. All service mesh consul-k8s components are configured to talk directly to Consul servers.
- Cluster Peering GA with Peering over Mesh Gateways: This version promotes Cluster Peering, a new model to federate Consul clusters for both service mesh and traditional service discovery, to General Availability. Cluster peering allows for service interconnectivity with looser coupling than the existing WAN federation. Cluster Peering on Consul K8s now enables Cluster Peering with Control Plane traffic routed via Mesh Gateways by default instead of provisioning load balancers using the - servers.exposeServersstanza. In addition, failover for service to service traffic over Cluster Peering can be configured through the- failover.targetsfield in the ServiceResolver CRD.
- Consul API Gateway 0.5.0 Support: Support to run Consul API Gateway without clients and allow Consul API Gateway to directly connect to Consul servers. 
What's Changed
- client.enablednow defaults to- false. Setting it to true will deploy client agents, however, none of the consul-k8s components will use clients for their operation. For Vault on Kubernetes using Consul deployed on Kubernetes as a storage backend,- client.enabledshould be set to- trueprior to upgrading.
- externalServers.grpcPortdefault is now 8502 instead of 8503.
- externalServers.hostsno longer supports cloud auto-join strings directly. Instead, include an- exec=string in the- externalServers.hostslist to invoke the- discoverCLI. For example, the following string invokes the- discoverCLI with a cloud auto-join string:- exec=discover -q addrs provider=aws region=us-west-2 tag_key=consul-server tag_value=true. The- discoverCLI is included in the official- hashicorp/consul-dataplaneimages by default.
- sync-catalognow communicates directly to Consul servers. When communicating to servers outside of Kubernetes, use the- externalServers.hostsstanza as described in Join External Servers to Consul on Kubernetes.
- Consul snapshot agent runs as a sidecar to Consul servers. Enterprise- client.snapshotAgentvalues are moved to- server.snapshotAgent, with the exception of the following values:- client.snapshotAgent.replicas,- client.snapshotAgent.serviceAccount
- global.secretsBackend.vault.consulSnapshotAgentRolevalue is now removed. You should now use the- global.secretsBackend.vault.consulServerRolefor access to any Vault secrets.
 
- Support simplified default deployment values to allow for easier quick starts and testing:- Set server.replicasto1. Formerly, this defaulted to3.
- connectInject.enablednow defaults to true.
- dns.enabledand- dns.enableRedirectionwill now default to the value of- connectInject.transparentProxy.defaultEnabled. Previously,- dns.enableddefaulted to the value of- global.enabledand- dns.enableRedirectiondefaulted to the value to- false.
- Set connectInject.replicasto 1
- Set meshGateway.affinityto null andmeshGateway.replicasto 1
- Set ingressGateways.defaults.affinityto null andingressGateways.defaults.replicasto 1
- Set terminatingGateways.defaults.affinityto null andterminatingGateways.defaults.replicasto 1
- syncCatalog.consulNamespaces.mirroringK8Snow defaults to- true. Enterprise
- connectInject.consulNamespaces.mirroringK8Snow defaults to- true. Enterprise
 
- Set 
- global.imageEnvoyis now replaced with- global.imageConsulDataplanefor running the sidecar proxy. apiGateway.imageEnvoy` is now available for configuring the version of Envoy that the API Gateway uses.
Supported Software
Note: Consul 1.13.x and 1.12.x is not supported. Please use Consul K8s 0.49.x if you want to use Consul 1.13.x or 1.12.x.
- Consul 1.14.x.
- Consul Dataplane v1.0.x. Refer to Envoy and Consul Dataplane for details about Consul Dataplane versions and the available packaged Envoy version.
- Kubernetes 1.22.x - 1.25.x
- kubectl1.22.x - 1.25.x
- Helm 3.6+
Upgrading
For detailed information on upgrading, please refer to the Upgrades page
Known Issues
The following issues are known to exist in the v1.0.0 release:
- Pod Security Standards that are configured for the Pod Security Admission controller are currently not supported by Consul K8s. OpenShift 4.11.x enables Pod Security Standards on Kubernetes 1.25 by default and is also not supported. Support will be added in a future Consul K8s 1.0.x patch release.
Changelogs
The changelogs for this major release version and any maintenance versions are listed below.
Note: The following link takes you to the changelogs on the GitHub website.