As part of our continuous efforts to bring economical computing while guaranteeing 100% availability into containerized workloads, such as Rancher, Amazon Elastic Container Service & Docker Swarm. We are excited to share our recent integration with kubernetes.io.
Kubernetes is an open source system from Google for easily managing containerized applications across multiple hosts; it provides deployment scheduling, workload and resource usage optimization, and easy scaling. Kubernetes groups your containers into logical units, called pods, to make their management and discovery much simpler.
Managing Kubernetes cluster while keeping its costs down is quite a challenge, especially when it comes to heterogeneous environments (made up from different instance types, and sizes to increase the cluster’s efficiency): choosing the right instance size and type for a specific workload, as well as utilizing Spot Instances requires some management, manual intervention, and mainly – heavy lifting of containers draining.
This is why, at Spotinst, we worked with leading k8s customers, to deliver a production grade and resilience service that will better utilize the EC2 resources within the k8s cluster; handle instance failures safely, and continuously optimize and provision the most economical underlying resources.
How It Works
The minions cluster (Autoscaling groups) should be converted into Elastigroup.
Then, In the creation Wizard, choose Kubernetes in the 3rd parties integration, add you Master URL, the desired port, and an API token for Spotinst to use.
From Security reasons, please make sure that the k8s Master Security-Group is open specifically for the whitelisted Spotinst servers IP Addresses avilable here: Spotinst Whitelabeled IPs
- Spotinst Prediction algorithm and its monitoring services identify an instance failure in the k8s minions cluster.
- Immediately, a new Instance is being launched to replace the ‘bad’ instance. Simultaneously, Elastigroup communicates with the k8s master, and marked the ‘bad’ instance as
- Elastigroup sends requests to the k8s master to reschedule the running containers on different hosts in the minions cluster.
Try it out
If you are already a Spotinst user, you can set up the Kubernetes integration from your Elastigroup UI, or via the API.