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'm wanting to expose multiple services on a single node. I'm running into issues here and it looks like the problem is the LoadBalancer k3d deploys uses a single static ip address to expose any LoadBalancer service type. Looks like it has no way to handle collisions, you can see this using the following setup.
The following deployment results in only one service receiving an allocated IP Address. While the other is left in pending state with no information about why.
➜ kubectl get pods -n kube-system -l 'svccontroller.k3s.cattle.io/svcnamespace=helloworld'
NAME READY STATUS RESTARTS AGE
svclb-helloworld-v1-4c1e8375-j2zdw 1/1 Running 0 12m
svclb-helloworld-v2-4c555cef-tndn2 0/1 Pending 0 10m
➜ kubectl get pods -n helloworld -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
helloworld-v1-798c9bf66-cqwbm 1/1 Running 0 14m 10.42.0.18 k3d-mgmt-cluster-server-0 <none> <none>
helloworld-v2-77f98b76b-cstjm 1/1 Running 0 12m 10.42.0.19 k3d-mgmt-cluster-server-0 <none> <none>
Wondering if one solution would be to give the LoadBalancer access to assign addresses from a pool and logic to check for collisions?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi all,
I'm wanting to expose multiple services on a single node. I'm running into issues here and it looks like the problem is the LoadBalancer k3d deploys uses a single static ip address to expose any LoadBalancer service type. Looks like it has no way to handle collisions, you can see this using the following setup.
Cluster:
App: helloworld-v1
App: helloworld-v2
The following deployment results in only one service receiving an allocated IP Address. While the other is left in pending state with no information about why.
Wondering if one solution would be to give the LoadBalancer access to assign addresses from a pool and logic to check for collisions?
Beta Was this translation helpful? Give feedback.
All reactions