diff --git a/perfkitbenchmarker/providers/aws/elastic_kubernetes_service.py b/perfkitbenchmarker/providers/aws/elastic_kubernetes_service.py index 15b9adb5a8..b7c8bae6d5 100644 --- a/perfkitbenchmarker/providers/aws/elastic_kubernetes_service.py +++ b/perfkitbenchmarker/providers/aws/elastic_kubernetes_service.py @@ -1037,6 +1037,9 @@ def _PostCreate(self): f'settings.clusterName={self.name}', '--set', f'settings.interruptionQueue={self.name}', + # Not always needed but enable the feature. + '--set', + 'settings.featureGates.staticCapacity=true', '--set', f'controller.resources.requests.cpu={controller_cpu}', '--set', @@ -1155,7 +1158,8 @@ def _CreateKarpenterNodePool(self, nodepool: container.BaseNodePoolConfig): machine_requirements ) if nodepool.min_nodes == nodepool.max_nodes: - # Not using autoscaling; set static replica count. + # Not using autoscaling; set static replica count & don't consolidate. + del yaml_nodepool[0]['spec']['disruption'] yaml_nodepool[0]['spec']['replicas'] = nodepool.num_nodes else: # NodePool CPU limit: max nodes * vCPU + 5%, max 1000.