You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I installed Consul Helm chart v1.3.3 in my cluster and enabled UI with ClusterIP (I am using Cloudflare with Tunnels so don't need LoadBalancer with real IPs).
I now want to expose UI to the Internel on DNS something like consul.mydomain.com, and for that I added Gateway resource with HTTP listener and HTTPRoute with hostnames and backendRefs. It looks like this:
However, it looks like Consul can't route traffic to a Service if that service is not registered on Consul service catalog, but I am not sure how I register consul Pods in the catalog when the Helm chart excplicitly set annotation on them to disable injector (I guess for a reason, we don't want to inject side to consul server pods).
Okay, so I thought if I can't inject sidecar to consul server pods, then maybe I can register consul-ui Service in Consul catalog directly, by using syncCatalog. I enabled that in the Helm chart and added annotation to the ui:
ui:
enabled: true
# Registers a Kubernetes Service for the Consul UI as a LoadBalancer.
service:
enabled: true
type: ClusterIP
port:
http: 80
annotations: |
'consul.hashicorp.com/service-sync': 'true'
'consul.hashicorp.com/service-port': 'http'
This resulted in the new Consul service appearing in the UI called consul-ui-consul. Not sure how I target that in my HTTPRoute though?
Any help would be appreciated.
It's probably worth noting that I am coming from Istio, where routing traffic to services & pods that don't have sidecars is working out of the box by simply adding VirtualService resource. I thought it would be similar with Consul where I could simply add HTTPRoute?
Question
I installed Consul Helm chart v1.3.3 in my cluster and enabled UI with ClusterIP (I am using Cloudflare with Tunnels so don't need LoadBalancer with real IPs).
I now want to expose UI to the Internel on DNS something like consul.mydomain.com, and for that I added
Gateway
resource with HTTP listener andHTTPRoute
with hostnames andbackendRefs
. It looks like this:However, it looks like Consul can't route traffic to a Service if that service is not registered on Consul service catalog, but I am not sure how I register consul Pods in the catalog when the Helm chart excplicitly set annotation on them to disable injector (I guess for a reason, we don't want to inject side to consul server pods).
Okay, so I thought if I can't inject sidecar to consul server pods, then maybe I can register
consul-ui
Service in Consul catalog directly, by using syncCatalog. I enabled that in the Helm chart and added annotation to the ui:This resulted in the new Consul service appearing in the UI called
consul-ui-consul
. Not sure how I target that in my HTTPRoute though?Any help would be appreciated.
It's probably worth noting that I am coming from Istio, where routing traffic to services & pods that don't have sidecars is working out of the box by simply adding
VirtualService
resource. I thought it would be similar with Consul where I could simply addHTTPRoute
?CLI Commands (consul-k8s, consul-k8s-control-plane, helm)
Helm Configuration
Logs
Current understanding and Expected behavior
Environment details
Additional Context
The text was updated successfully, but these errors were encountered: