From the docs https://github.com/kubernetes/kops/blob/master/docs/instance_groups.md#converting-an-instance-group-to-use-spot-instances

Follow the normal procedure for reconfiguring an InstanceGroup, but set the maxPrice property to your bid. For example, "0.10" represents a spot-price bid of $0.10 (10 cents) per hour.

So after kops create cluster but before kops update cluster --yes run kops edit ig nodes --name $NAME and set maxPrice to your max bid.

metadata:
  creationTimestamp: "2016-07-10T15:47:14Z"
  name: nodes
spec:
  machineType: t2.medium
  maxPrice: "0.01"
  maxSize: 3
  minSize: 3
  role: Node
Answer from Dan Garthwaite on Stack Overflow
🌐
AWS
aws.amazon.com › blogs › compute › cost-optimization-and-resilience-eks-with-spot-instances
Building for Cost optimization and Resilience for EKS with Spot Instances | Amazon Web Services
June 22, 2020 - The architecture deploys the EKS worker nodes over three AZs, and leverages three Auto Scaling groups – two for Spot Instances, and one for On-Demand. The Kubernetes Cluster Autoscaler is deployed on On-Demand worker nodes, and the AWS Node Termination Handler is deployed on all worker nodes.
🌐
Spot.io
spot.io › home › kubernetes architecture › how to run a kubernetes cluster on spot instances
How to Run a Kubernetes Cluster on Spot Instances | Spot.io
September 12, 2024 - In this tutorial, you’ll learn how to optimally run your Kubernetes cluster on AWS spot instances. Spot instances allow cloud customers to purchase compute capacity at a significantly lower cost than on-demand or reserved instances.
Discussions

We use Kubernetes and spot instances to reduce EC2 billing up to 80%
It is very common for AWS to completely run out of entire classes of instance types e.g. all of R5 or all of M5. And when that happens your cluster will die · What you want to do is split your cluster into minimum two node groups e.g. Core and Task: More on news.ycombinator.com
🌐 news.ycombinator.com
293
514
January 31, 2020
amazon web services - How to create AWS spot instances with Kops or Kubernetes? - Stack Overflow
Does anybody know how to create instances of type 'spot' with kops or with kubernetes? More on stackoverflow.com
🌐 stackoverflow.com
Anybody using spot instances for worker nodes?
Our entire development cluster switched to spot instances (~100 nodes), the savings was insane. Production runs a mix of reserved and spot. More on reddit.com
🌐 r/kubernetes
28
58
February 10, 2023
AWS Spot instance EKS with stateful pods
Use a stateful set backed by an EBS volume More on reddit.com
🌐 r/kubernetes
14
6
August 31, 2021
🌐
Google Cloud
cloud.google.com › application hosting › google kubernetes engine (gke) › spot vms
Spot VMs | Google Kubernetes Engine (GKE) | Google Cloud Documentation
To learn how to use Spot VMs, refer to Use Spot VMs. Spot VMs are Compute Engine virtual machine (VM) instances that are priced lower than standard Compute Engine VMs and provide no guarantee of availability.
🌐
Hacker News
news.ycombinator.com › item
We use Kubernetes and spot instances to reduce EC2 billing up to 80% | Hacker News
January 31, 2020 - It is very common for AWS to completely run out of entire classes of instance types e.g. all of R5 or all of M5. And when that happens your cluster will die · What you want to do is split your cluster into minimum two node groups e.g. Core and Task:
Top answer
1 of 2
4

From the docs https://github.com/kubernetes/kops/blob/master/docs/instance_groups.md#converting-an-instance-group-to-use-spot-instances

Follow the normal procedure for reconfiguring an InstanceGroup, but set the maxPrice property to your bid. For example, "0.10" represents a spot-price bid of $0.10 (10 cents) per hour.

So after kops create cluster but before kops update cluster --yes run kops edit ig nodes --name $NAME and set maxPrice to your max bid.

metadata:
  creationTimestamp: "2016-07-10T15:47:14Z"
  name: nodes
spec:
  machineType: t2.medium
  maxPrice: "0.01"
  maxSize: 3
  minSize: 3
  role: Node
2 of 2
0

It appears that gardener/machine-controller-manager could be taught about Spot instances fairly easily, and there is an existing issue to do just such a thing. I can't recall off-hand if that is the Node Controller Manager that I recalled seeing, or it is merely a Node Controller Manager and thus there may be other implementations of that idea which already include spot support.

That makes a presumption that you actually meant spot for the workers, and not for the whole cluster. If you mean the whole cluster, then you may be much, much happier with something like kubespray and use that to lay a functioning cluster on top of existing machines. Just bear in mind that while kubernetes certainly is resilient to "damage," including the loss of a master, an etcd member, and without question the loss of a Node, it might frown if a huge portion of its machines vanish at once. In other words: using spot could mean that you spend more programmer/devops/glucose triaging spot disappearance, or you have to so vastly overprovision replicas that it starts to eat into the savings from spot in the first place.

🌐
LearnKube
learnkube.com › blog › kubernetes-spot-instances
Kubernetes on Spot Instances - Cut Costs
November 6, 2018 - For example, if a master node notices that only 2 instances of an application are running, but you requested three, it immediately starts another one. Most of Kubernetes components are designed this way: a control loop that constantly regulates the current state around the desired state. Imagine you have 3 nodes and 3 replicas of an application, one running on each node. When a node running on a spot instance is reclaimed by the cloud provider, the application on that node is lost.
Find elsewhere
🌐
Medium
medium.com › @the.gigi › mastering-spot-instances-on-kubernetes-for-fun-and-profit-f274e7d59005
Mastering Spot Instances on Kubernetes for Fun and Profit | by Gigi Sayfan | Medium
June 7, 2025 - So, here is what we want. Create a new ephemeral node group, which will use spot nodes. All the green pods will go to spot nodes.
🌐
AWS
aws.amazon.com › blogs › compute › run-your-kubernetes-workloads-on-amazon-ec2-spot-instances-with-amazon-eks
Run your Kubernetes Workloads on Amazon EC2 Spot Instances with Amazon EKS | Amazon Web Services
January 16, 2021 - Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a managed service that removes the need to manage the installation, scaling, or administration of master nodes and the etcd distributed key-value store. It provides a highly available and secure K8s control plane. This post demonstrates how to use Spot Instances as K8s worker nodes, and shows the areas of provisioning, automatic scaling, and handling interruptions (termination) of K8s worker nodes across your cluster.
🌐
Rackspace
spot.rackspace.com
Rackspace Spot
All the reliability and functionality you expect from managed Kubernetes, with the cost benefits of spot instance pricing.
🌐
Medium
medium.com › preply-engineering › why-and-how-do-we-run-kubernetes-on-the-spot-instances-c88d32fb9df3
Why and how do we run Kubernetes on the Spot instances | by YR | Preply Engineering Blog | Medium
March 18, 2019 - Sure, you can use the Spot instances for the worker nodes, but it’s a bit expensive for those who want to play a bit with EKS. Plus, you’d still need to pay for the control plane. However, if you spin up a cluster on your own for research and development purposes, you can use a smaller instance type for the master and worker nodes. When EKS became available, we were considering Kubernetes as a generic platform solution for all our services.
🌐
Sedai
sedai.io › blog › spot-instances-in-k8s-strategy
Spot Instances in Kubernetes: Architecture & Cost Guide 2026
November 21, 2025 - Spot instances offer an affordable way to scale Kubernetes clusters by utilizing AWS’s unused EC2 capacity at discounted rates. The key benefit here is cost-effectiveness—by deploying your Kubernetes workloads on spot instances, you can save as much as 70-90% compared to standard on-demand instances.
🌐
AWS
aws.amazon.com › compute › amazon ec2 › spot instances
Spot Instance - Amazon EC2 Spot Instances - AWS
1 week ago - Read about best practices to optimize your Spot Instances usage. ... Run containerized workloads of any scale using Amazon EC2, Amazon ECS, Amazon EKS, or self-managed Kubernetes clusters on Spot Instances.
🌐
Sedai
sedai.io › blog › running-kubernetes-eks-on-aws-spot-instances
Running Kubernetes on AWS Spot Instances: A Complete Guide for 2025 | Sedai
February 7, 2025 - Learn how to run Kubernetes clusters on AWS spot instances with manual, automated, or autonomous management approaches to achieve 90% cost savings while maintaining reliability. Covers manual, automated, and autonomous approaches to instance selection and management.
🌐
AWS Builder Center
builder.aws.com › content › 2dhlDEUfwElQ9mhtOP6D8YJbULA › run-kubernetes-clusters-for-less-with-amazon-ec2-spot-and-karpenter
Run Kubernetes Clusters for Less with Amazon EC2 Spot ...
September 6, 2023 - Connect with builders who understand your journey. Share solutions, influence AWS product development, and access useful content that accelerates your growth. Your community starts here.
🌐
Medium
aws.plainenglish.io › deploying-spot-workloads-on-amazon-eks-auto-mode-a-cost-effective-approach-83d47b6641a4
Deploying Spot Workloads on Amazon EKS Auto Mode: A Cost-Effective Approach | by Rasanpreet | AWS in Plain English
September 7, 2025 - An EKS Spot NodePool is a group of EC2 Spot Instances in an Amazon EKS cluster used to run cost-optimized, interruptible Kubernetes workloads.
🌐
Cloudnatix
docs.cloudnatix.com › docs › k8sOptimizationForSpot
Optimizing Kubernetes with Spot Rebalancing
CloudNatix provides an agent that automatically rebalances On-Demand nodes and Spot nodes in a single cluster. The auto-rebalancing moves workloads from On-Demand to Spot nodes to maximize the utilization of Spot instances and reduce the cluster cost.
🌐
Kubernetes
kubernetes.io › docs › concepts › architecture
Cluster Architecture | Kubernetes
November 16, 2025 - A Kubernetes cluster consists of a control plane plus a set of worker machines, called nodes, that run containerized applications. Every cluster needs at least one worker node in order to run Pods · The worker node(s) host the Pods that are the components of the application workload.