fix random pod spread

Signed-off-by: Areeb Ahmed <areebahmed0709@gmail.com>
This commit is contained in:
Areeb Ahmed
2026-07-08 15:44:39 +03:00
parent 041dcec566
commit ec41ad745d
8 changed files with 73 additions and 9 deletions
+8
View File
@@ -57,6 +57,14 @@ func (dp ResolvedNode) Platforms() []ocispecs.Platform {
}
func (dp ResolvedNode) Client(ctx context.Context) (*client.Client, error) {
node := dp.resolver.nodes[dp.driverIndex]
// loadbalance=random requires a fresh connection per call so each target lands on a different pod.
if node.Driver != nil && node.Driver.RequiresUncachedClient() {
if _, err := dp.resolver.boot(ctx, []int{dp.driverIndex}, nil); err != nil {
return nil, err
}
return node.Driver.UncachedClient(ctx)
}
clients, err := dp.resolver.boot(ctx, []int{dp.driverIndex}, nil)
if err != nil {
return nil, err