我有一个 eks 集群,其节点组基于具有以下配置的混合实例分发启动模板:
region: us-west-2
instance_distribution: [p2.xlarge, p3.2xlarge, p2.8xlarge]
max_price: 0.9
on_demand_percentage_above_base_capacity: 0
on_demand_base_capacity: 0
spot_instance_pools: 2
在将自动缩放从 0 缩放到 1 时,集群自动缩放器遇到了以下问题:
Launching a new EC2 instance. Status Reason: Could not launch Spot Instances. SpotMaxPriceTooLow - Your Spot request price of 0.9 is lower than the minimum required Spot request fulfillment price of 0.918. Launching EC2 instance failed.
At the time, the spot price of p3.2xlarge happened to be 0.918.
似乎请求的是现货 p3.2xlarge,而不是请求 p2.xlarge 的按需实例(即使 p2.xlarge 的按需价格 0.9 低于现货价格 0.918对于 p3.2xlarge)。我希望分配一个按需 p2.xlarge 实例,而不是请求一个 p3.2xlarge 现场实例。是因为我配置了on_demand_percentage_above_base_capacity: 0
吗?
更一般地说,我希望能够配置集群以获取 p2.xlarge 的现场实例,并且在不可能的情况下,按需请求。实现我想要的功能的最佳配置是什么?
on_demand_percentage_above_base_capacity 的配置是否严格执行?如果 on_demand_percentage_above_base_capacity 设置为 1 并且我的第一个实例是按需实例,我接下来的几个扩展请求是否会被迫仅产生点实例,或者它更像是有指导意义的权重(例如,如果没有可用点,它仍然会回退到按需而不是未能满足请求)?