Limit autoprovisioned groups to 15
This commit is contained in:
parent
c0b48e4a15
commit
de524a6688
|
|
@ -109,6 +109,8 @@ type AutoscalingOptions struct {
|
|||
ClusterName string
|
||||
// NodeAutoprovisioningEnabled tells whether the node auto-provisioning is enabled for this cluster.
|
||||
NodeAutoprovisioningEnabled bool
|
||||
// MaxAutoprovisionedNodeGroupCount is the maximum number of autoprovisioned groups in the cluster.
|
||||
MaxAutoprovisionedNodeGroupCount int
|
||||
}
|
||||
|
||||
// NewAutoscalingContext returns an autoscaling context from all the necessary parameters passed via arguments
|
||||
|
|
|
|||
|
|
@ -295,6 +295,17 @@ func executeScaleUp(context *AutoscalingContext, info nodegroupset.ScaleUpInfo)
|
|||
}
|
||||
|
||||
func addAutoprovisionedCandidates(context *AutoscalingContext, nodeGroups []cloudprovider.NodeGroup, unschedulablePods []*apiv1.Pod) {
|
||||
autoprovisionedNodeGroupCount := 0
|
||||
for _, group := range nodeGroups {
|
||||
if group.Autoprovisioned() {
|
||||
autoprovisionedNodeGroupCount++
|
||||
}
|
||||
}
|
||||
if autoprovisionedNodeGroupCount >= context.MaxAutoprovisionedNodeGroupCount {
|
||||
glog.V(4).Infof("Max autoprovisioned node group count reached")
|
||||
return
|
||||
}
|
||||
|
||||
machines, err := context.CloudProvider.GetAvilableMachineTypes()
|
||||
if err != nil {
|
||||
glog.Warningf("Failed to get machine types: %v", err)
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ var (
|
|||
maxFailingTimeFlag = flag.Duration("max-failing-time", 15*time.Minute, "Maximum time from last recorded successful autoscaler run before automatic restart")
|
||||
balanceSimilarNodeGroupsFlag = flag.Bool("balance-similar-node-groups", false, "Detect similar node groups and balance the number of nodes between them")
|
||||
nodeAutoprovisioningEnabled = flag.Bool("node-autoprovisioning-enabled", false, "Should CA autoprovision node groups when needed")
|
||||
maxAutoprovisionedNodeGroupCount = flag.Int("max-autoprovisioned-node-group-count", 15, "The maximum number of autoprovisioned groups in the cluster.")
|
||||
)
|
||||
|
||||
func createAutoscalerOptions() core.AutoscalerOptions {
|
||||
|
|
@ -138,6 +139,7 @@ func createAutoscalerOptions() core.AutoscalerOptions {
|
|||
ConfigNamespace: *namespace,
|
||||
ClusterName: *clusterName,
|
||||
NodeAutoprovisioningEnabled: *nodeAutoprovisioningEnabled,
|
||||
MaxAutoprovisionedNodeGroupCount: *maxAutoprovisionedNodeGroupCount,
|
||||
}
|
||||
|
||||
configFetcherOpts := dynamic.ConfigFetcherOptions{
|
||||
|
|
|
|||
Loading…
Reference in New Issue