Overview
In this self-paced exercise, you will learn how to configure and deploy an Amazon EKS cluster with Spot Instances using the controller. Spot instances are great options to use in order to reduce operating costs. On average, most spot instance types can reduce costs by over 70% compared to on-demand instances.
Important
Spot instances can be interupted, which could impact your running workloads. This is a rare occurance and normally has a frequency of interuption of under 5%. For additional information, check out AWS's Spot Instance Advisor
What Will You Do by Part¶
Part | What will you do? |
---|---|
1 | Provision an Amazon EKS Cluster with spot instances |
2 | Deprovision the EKS cluster |
Architecture & Design¶
- It is recommended to create a "dedicated managed node group" for system level resources while then using a managed node group with spot instances to run non-system level workloads.
- This configuration allows system level resources to take advantage of the consistency of on-demand or reserved instances while optimizing workload cost with performance.
In This excercise, we will create an EKS cluster that contains two (2) managed node groups, one for system resources and the other with "spot instances" for workloads. A visual representation of this cluster design is shown below.
flowchart LR
subgraph DATA[EKS Data Plane]
direction TB
subgraph NG1[System Node Group]
direction RL
i1[Rafay Operator]
end
subgraph NG2[Spot Node Groups]
direction RL
f1[Workloads]
end
end
CP[EKS Control Plane] <-.-> DATA
Assumptions¶
- You have access to an Amazon AWS account with privileges to create an IAM Role with the default Full IAM Policy to allow provisioning of resources on your behalf as part of the EKS cluster lifecycle.
- You have downloaded the RCTL CLI
- You have initialized the RCTL CLI
Note
The instructions describe the process using a combination of the RCTL CLI and the web console. The same steps can be performed using the REST APIs or a Terraform provider for automation.