Consul-helm: NodePort services with multiple ports does not expose all public ports

Created on 18 Dec 2019  路  5Comments  路  Source: hashicorp/consul-helm

Hi,

I installed multiple helm charts like etcd, rabbitmq and so on, and what i have noticed is that when a service is configured as NodePort service and has multiple "public" port expose, only the first in the list is reveled in the consul UI , although i can ran kubectl command and see and access all of the service public ports.

Example:
service/rabbitmq NodePort 10.99.115.64 none 4369:31825/TCP,5672:32672/TCP,25672:31685/TCP,15672:31404/TCP

on the UI i can only see:
4369:31825/TCP

Is this a bug?, did i misconfigured something?
Please advise.

Thanks in advance! :)

aresync question

All 5 comments

This post state that is should:
Service Ports

Solution was to add the annotation with the port i want to expose, this let me select which port i want to expose, but it does not allow me to expose all of them.

consul.hashicorp.com/service-port: amqp

Hi, you can only expose one port right now. This is because each Consul service can only have one port. We could write something that allows you to map the extra ports to new service names, but that doesn't exist right now.

Hi, thanks for the reply, currently as a workaround i created an ingress for easy access to the UI port, but it would be nice to have all other ports exposes on consul as well, if you would add that feature in the near future it will be awesome!

10x!
Avishai.

For sure. This is related to https://github.com/hashicorp/consul-k8s/issues/68 which is waiting on https://github.com/hashicorp/consul/issues/5388 so I'll close this and if you want to get notified when it's built subscribe to that consul issue.

Was this page helpful?
0 / 5 - 0 ratings