diff --git a/cluster-autoscaler/core/scaledown/planner/planner.go b/cluster-autoscaler/core/scaledown/planner/planner.go index 515600ffad2e..ec631a762e7e 100644 --- a/cluster-autoscaler/core/scaledown/planner/planner.go +++ b/cluster-autoscaler/core/scaledown/planner/planner.go @@ -18,6 +18,7 @@ package planner import ( "fmt" + "reflect" "time" apiv1 "k8s.io/api/core/v1" @@ -340,6 +341,10 @@ func (p *Planner) atomicScaleDownNode(node *simulator.NodeToBeRemoved) bool { klog.Errorf("failed to get node info for %v: %s", node.Node.Name, err) return false } + if nodeGroup == nil || reflect.ValueOf(nodeGroup).IsNil() { + klog.V(4).Infof("Skipping node %v for atomic scale down - no node group found", node.Node.Name) + return false + } autoscalingOptions, err := nodeGroup.GetOptions(p.autoscalingCtx.NodeGroupDefaults) if err != nil && err != cloudprovider.ErrNotImplemented { klog.Errorf("Failed to get autoscaling options for node group %s: %v", nodeGroup.Id(), err)