Ingress gateway on each node

11/30/2020

Each node runs the same pods and all the nodes do the same. I am using Istio ingress gateway with the NodePort. I need traffic that enters NodePort to be routed to pods not leaving the node. I am unable to run istio-ingressgateway on each node to do that. Is it possible for each node to route its own traffic?

Bare-metal, k8s 1.19.4, Istio 1.8

-- Jonas
istio
kubernetes

1 Answer

12/9/2020

Issue

As @Jonas mentioned in comments

The problem is that there is just one istio-ingressgateway pod on node1 and all the traffic from node2 have to come to node1

Solution

You can use kubectl scale to scale your ingress gateway replicas. Below command will create 3 ingress gateway pods instead of just one.

kubectl scale --replicas=3 deployment/istio-ingressgateway -n istio-system

Additionally you can set this up with istio operator replicaCount value.

Note that if you use cloud there might be hpa configured and it might immediately scales back up the pods. There is github issue about that. You can also set hpa min and max replicas with istio.

-- Jakub
Source: StackOverflow