Rancher’s cloud Kubernetes provisioning is less about "creating Kubernetes" and more about managing the lifecycle of Kubernetes clusters across diverse cloud providers.

Let’s see it in action. Imagine you’ve got a Rancher instance running, and you want to spin up a managed Kubernetes cluster on AWS. You’d navigate to the "Cluster Management" section, click "Create Cluster," and then select "Amazon EKS."

Here’s what happens under the hood:

  1. Cloud Provider Authentication: Rancher needs credentials to talk to your AWS account. This is usually done via IAM roles or access keys configured in Rancher’s cloud credentials. Rancher then uses these credentials to create the necessary AWS resources.

  2. Control Plane Creation: For EKS, Rancher doesn’t build the Kubernetes control plane itself. Instead, it instructs AWS to create an EKS cluster. This involves provisioning an EC2 instance for the EKS control plane (managed by AWS), setting up networking (VPC, subnets, security groups), and configuring the EKS service. Rancher’s role here is to orchestrate the AWS API calls to achieve this.

  3. Node Group Provisioning: Rancher then defines and launches EC2 instances that will act as your worker nodes. You specify the instance type (e.g., t3.medium), the desired number of nodes, and the AMI (e.g., ami-0abcdef1234567890 – this is a placeholder, the actual AMI will be specific to EKS). Rancher uses Auto Scaling Groups to manage these nodes, ensuring they are launched with the correct configuration and join the EKS control plane.

  4. Kubernetes Configuration & Bootstrapping: Once the AWS infrastructure is ready, Rancher deploys its own agent (cattle-cluster-agent) onto the worker nodes. This agent establishes a secure connection back to your Rancher server. It then works with the EKS control plane to install necessary Kubernetes components like kubelet, kube-proxy, and container runtimes (e.g., containerd) on the worker nodes.

  5. Rancher Integration: The cattle-cluster-agent registers the newly provisioned cluster with your Rancher server. This allows you to manage the cluster (deploy workloads, monitor, upgrade) directly through the Rancher UI, even though the underlying Kubernetes control plane is managed by AWS.

The core problem this solves is abstracting away the complexity of provisioning and managing Kubernetes clusters across different cloud providers. Instead of learning the intricacies of EKS, GKE, AKS, or vSphere for cluster creation, you interact with a single, consistent interface in Rancher.

The exact levers you control are primarily around the worker node configuration and the cluster’s basic settings. For EKS, you define instance types, disk sizes, desired node counts, and Kubernetes version. For other providers, these might vary slightly but follow a similar pattern. Rancher handles the provider-specific API calls and resource creation.

When you tell Rancher to scale up your EKS node group from 3 to 5 nodes, it doesn’t directly create EC2 instances. Instead, it updates the desired capacity of the underlying AWS Auto Scaling Group associated with that EKS node group. AWS then handles the provisioning of new EC2 instances, their bootstrapping to join the EKS cluster, and their registration with Kubernetes.

One critical detail often overlooked is how Rancher handles secrets for cloud provider authentication. While you might initially provide IAM user credentials, the more secure and recommended approach is to use IAM roles for service accounts (IRSA) on EKS or instance profiles on EC2. Rancher can be configured to use these, meaning the cluster’s agents run with temporary, short-lived credentials rather than static keys, significantly enhancing security.

The next concept you’ll likely encounter is managing cluster upgrades and node pool scaling within Rancher.

Want structured learning?

Take the full Rancher course →