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 thefailover.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 tofalse. 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 totrueprior to upgrading.externalServers.grpcPortdefault is now 8502 instead of 8503.externalServers.hostsno longer supports cloud auto-join strings directly. Instead, include anexec=string in theexternalServers.hostslist to invoke thediscoverCLI. For example, the following string invokes thediscoverCLI with a cloud auto-join string:exec=discover -q addrs provider=aws region=us-west-2 tag_key=consul-server tag_value=true. ThediscoverCLI is included in the officialhashicorp/consul-dataplaneimages by default.sync-catalognow communicates directly to Consul servers. When communicating to servers outside of Kubernetes, use theexternalServers.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 toserver.snapshotAgent, with the exception of the following values:client.snapshotAgent.replicas,client.snapshotAgent.serviceAccountglobal.secretsBackend.vault.consulSnapshotAgentRolevalue is now removed. You should now use theglobal.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.enabledanddns.enableRedirectionwill now default to the value ofconnectInject.transparentProxy.defaultEnabled. Previously,dns.enableddefaulted to the value ofglobal.enabledanddns.enableRedirectiondefaulted to the value tofalse.- 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 totrue. EnterpriseconnectInject.consulNamespaces.mirroringK8Snow defaults totrue. Enterprise
- Set
global.imageEnvoyis now replaced withglobal.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.