Load-balancer multi ports

Hi all,
I am using Istio on Minikube with tunnel and it works very well.

I installed the “demo” profile

Now I’d like to add another port to the load-balancer:

currently, I have:

 PORT    STATE  SERVICE
 80/tcp  open   http
 443/tcp closed https

I’d need to open another port, I tried in this way:

spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
    - port:
        number: 80
        name: http
        protocol: HTTP
      hosts:
        - "*"
    - port:
        number: 5672
        name: tcp
        protocol: TCP
      hosts:
        - "*"

but didn’t work.
Is there a way to open another port?
Thank you

Hello,

unfortunately this is not enough. You have to specifying the port also on the istio-ingressgateway service.

Thank you Tomas for your answer,
I was trying to change the stio-ingressgateway configuration, but what it is not clear to me is with this configuration:

Name:                     istio-ingressgateway
Namespace:                istio-system
Labels:                   app=istio-ingressgateway
                          istio=ingressgateway
                          operator.istio.io/component=IngressGateway
                          operator.istio.io/managed=Reconcile
                          operator.istio.io/version=1.4.3
                          release=istio
Annotations:              kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"istio-ingressgateway","istio":"ingressgateway","operator...
Selector:                 app=istio-ingressgateway
Type:                     LoadBalancer
IP:                       10.96.157.64
LoadBalancer Ingress:     10.96.157.64
Port:                     status-port  15020/TCP
TargetPort:               15020/TCP
NodePort:                 status-port  31185/TCP
Endpoints:                172.17.0.11:15020
Port:                     amqp  5672/TCP
TargetPort:               5672/TCP
NodePort:                 amqp  31672/TCP
Endpoints:                172.17.0.11:5672
Port:                     http2  80/TCP
TargetPort:               80/TCP
NodePort:                 http2  31671/TCP
Endpoints:                172.17.0.11:80
Port:                     https  443/TCP
TargetPort:               443/TCP
NodePort:                 https  31424/TCP
Endpoints:                172.17.0.11:443
Port:                     kiali  15029/TCP
TargetPort:               15029/TCP
NodePort:                 kiali  30715/TCP
Endpoints:                172.17.0.11:15029
Port:                     prometheus  15030/TCP
TargetPort:               15030/TCP
NodePort:                 prometheus  30107/TCP
Endpoints:                172.17.0.11:15030
Port:                     grafana  15031/TCP
TargetPort:               15031/TCP
NodePort:                 grafana  32451/TCP
Endpoints:                172.17.0.11:15031
Port:                     tracing  15032/TCP
TargetPort:               15032/TCP
NodePort:                 tracing  30536/TCP
Endpoints:                172.17.0.11:15032
Port:                     tls  15443/TCP
TargetPort:               15443/TCP
NodePort:                 tls  31096/TCP
Endpoints:                172.17.0.11:15443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

I see only the port 80 exposed.

I do not understand how to expose the other ports, let’s suppose the Prometheus port.

I think that your port name is wrong. It should be protocol-whatevever.