I am now running two kubernetes clusters.
First Cluster is running on bare metal, and Second Cluster is running on EKS. but since maintaining EKS costs a lot, so I am finding ways to change this service as Single Cluster that autoscales on AWS.
I did tried to consider several solutions such as RHACM, Rancher and Anthos. But those solutions are for controlling multi cluster. I just want to change this cluster as "onpremise based cluster that autoscales (on AWS) when lack of resources"
I could find "EKS anywhere" solution but since price is too high, I want to build similar architecture.
need advice for any use cases for ingress controller, or (physical) loadbalancer, or other architecture that could satisfies those conditions
CodePudding user response:
Cluster API
is probably what you need. It is a concept of creating Clusters
with Machine
objects. These Machine
objects are then provisioned using a Provider
. This provider can be Bare Metal Operator
provider for your bare metal nodes and Cluster API Provider AWS
for your AWS nodes. All resting in a single cluster (see the docs below for many other provider types).
You will run a local Kubernetes cluster which will have the Cluster API
running in it. This will include components that will allow you to be able to create different Machine
objects and tell Kubernetes also how to provision those machines.
Here is some more reading:
- Cluster API Book: Excellent reading on the topic.
- Documentation for CAPI Provider - AWS.
- Documentation for the Bare Metal Operator I worked on this project for a couple of years and the community is pretty amazing. This GitHub repository hosts the
CAPI Provider
for bare metal nodes.
This should definitely get you going. You can start by running different providers individually to get a taste of how they work and then work with Cluster API
and see it in function.