We are excited to announce the first beta release for Consul 1.9.0.
NOTE This beta release does not have a forward compatibility guarantee and certain functionality may change that will be incompatible with the General Availability release. Please only use the beta releases to test functionality and upgrades with clusters that can be lost.
Below are a few of the major new features in Consul 1.9:
Service Mesh Topology Visualization
The Consul UI includes a new topology visualization that shows an overview of how services connect with one other. By configuring an external metrics provider, connection-specific metrics like error rates, success rates, and timing are overlaid on top of the topology diagram. Consul 1.9 includes built in support for Prometheus as the metrics provider.
Application Aware Intentions (L7 Intentions)
Consul intentions provide a mechanism to construct access policies based on service identity. We now support Application-aware (Layer 7) intentions, which allow operators to construct policies which, in addition to service identity, evaluate application-layer information such as HTTP Path, Headers, or Method when authorizing HTTP-based (HTTP/1.1, HTTP/2, gRPC) service-to-service communication.
A major architectural enhancement in how update notifications for blocking queries are delivered within the cluster. Streaming results in very significant reduction of CPU and network bandwidth usage on Consul servers in large scale deployments. Streaming is now available for the service health HTTP endpoint. It can be enabled through configuration flags, and adding the
cachedURL parameter. Once we have feedback from more users who have tried it, we hope streaming will become the only mechanism for delivering blocking query updates internally.
This release also has two major enhancements to our Kubernetes integration
Provide a way to configure Consul service mesh configuration via Kubernetes Custom Resource Definitions (CRDs). This enables users to configure and modify Consul specific configuration like configuration entries and intentions through kubectl. See our new learn guide to get started with CRDs.
Open shift support
Enable installing Consul via Helm chart in OpenShift.
Besides the above, this release brings several bug fixes and enhancements, highlights include:
consul snapshot inspectincludes additional information in verbose mode
- Node and service counts are emitted as metrics
- The Vault CA provider includes support for auto-renewing token leases
- Support for specifying Envoy Load balancing policies when defining service resolvers
- Allow client agents to be configured with an advertised reconnect timeout to control how long until the nodes are reaped by others in the cluster.
Load Balancing Services in Consul Service Mesh with Envoy - https://learn.hashicorp.com/tutorials/consul/load-balancing-envoy
Manage Service Intentions in Consul Service Mesh using Kubernetes Custom Resource Definitions (CRDs) -https://learn.hashicorp.com/tutorials/consul/kubernetes-configuration-entries
We encourage you to experiment with these new features, but recommend against using this build in a production environment. Depending on feedback and resolving outstanding issues, we may release further betas or release candidates, and will publish a final, generally available 1.9 release when appropriate.
Thank you to our active community members who have been invaluable in adding new features, reporting bugs, and improving the documentation for Consul in this release!