Reputation: 11
It has been some time my application is using Consul Client (daemonset) in the deployment setup with the ACL enabled. The application is using Consul SDK to register the microservices to the Consul Server via provided catalog HTTP API. This service is then discoverable by the other microservices.
Since the new Consul Dataplane model is highly promoted by Consul, with the service mesh feature that can auto register and auto discovery via the provided annotation in the pod. So I am planning to disable the consul client and only be using Consul dataplane. However, there’s some use cases that i would like to call the Consul Server HTTP API directly, i.e. using the kv / manual discovery / etc from the application.
Is that possible for me to connect to the HTTP API at port 8500 with Consul Dataplane setup? Would it be recommended if I call the Consul Server service (in the context of k8s service) directly, bypassing any local daemon / proxy?
The Consul server instances registered as the service in the Consul only expose port 8300 which is for the internal use. Attempted to configure the consul dataplane to "discover" the consul server so it is accessible locally via the proxy but no success.
Upvotes: 1
Views: 188
Reputation: 132
You can still set client.enabled to true and run in non-mesh mode: https://developer.hashicorp.com/consul/docs/k8s/helm#h-client You will need to set connectInject.enabled=false
Upvotes: 0