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-dataplane
is now injected as a sidecar-proxy instead of plain Envoy.consul-dataplane
manages 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.exposeServers
stanza. In addtion, failover for service to service traffic over Cluster Peering can be configured through thefailover.targets
field 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.enabled now 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.enabled
should be set totrue
prior to upgrading. - externalServers.grpcPort default is now 8502 instead of 8503.
- externalServers.hosts no longer supports cloud auto-join strings directly. Instead, include an exec= string in the
externalServers.hosts
list to invoke thediscover
CLI. For example, the following string invokes thediscover
CLI with a cloud auto-join string:exec=discover -q addrs provider=aws region=us-west-2 tag_key=consul-server tag_value=true
. Thediscover
CLI is included in the officialhashicorp/consul-dataplane
images by default. - sync-catalog now communicates directly to Consul servers. When communicating to servers outside of Kubernetes, use the
externalServers.hosts
stanza as described in Join External Servers to Consul on Kubernetes. - Consul snapshot agent runs as a sidecar to Consul servers. EnterpriseEnterprise
- client.snapshotAgent values are moved to
server.snapshotAgent
, with the exception of the following values:client.snaphostAgent.replicas
,client.snaphostAgent.serviceAccount
- global.secretsBackend.vault.consulSnapshotAgentRole value is now removed. You should now use the
global.secretsBackend.vault.consulServerRole
for access to any Vault secrets.
- client.snapshotAgent values are moved to
- Support simplified default deployment values to allow for easier quick starts and testing:
- Set
server.replicas
to1
. Formerly, this defaulted to3
. - connectInject.enabled now defaults to true.
- dns.enabled and
dns.enableRedirection
will now default to the value ofconnectInject.transparentProxy.defaultEnabled
. Previously,dns.enabled
defaulted to the value ofglobal.enabled
anddns.enableRedirection
defaulted to the value tofalse
. - Set
connectInject.replicas
to 1 - Set
meshGateway.affinity
to null andmeshGateway.replicas
to 1 - Set
ingressGateways.defaults.affinity
to null andingressGateways.defaults.replicas
to 1 - Set
terminatingGateways.defaults.affinity
to null andterminatingGateways.defaults.replicas
to 1 - syncCatalog.consulNamespaces.mirroringK8S now defaults to
true
. EnterpriseEnterprise - connectInject.consulNamespaces.mirroringK8S now defaults to
true
. EnterpriseEnterprise
- Set
- global.imageEnvoy is now replaced with
global.imageConsulDataplane
for 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
- kubectl 1.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.