Adding Nodes to a Kubernetes Cluster¶
Adding nodes to your Kubernetes cluster expands its capacity, enabling you to run more workloads, handle higher traffic, and distribute resources more effectively. The process typically involves preparing the new node, installing the necessary Kubernetes components, and joining it to the existing control plane.
Note: Always follow the documentation for your specific environment. These guides are provided as guides only and may not be as up to date or accurate as your environment's documentation.
General Workflow¶
-
Provision the Host Obtain or spin up a physical or virtual machine (depending on your environment). Ensure it meets the Kubernetes system requirements (CPU, memory, storage, and network connectivity).
-
Install Required Software
- Container Runtime (e.g., Docker, containerd)
- Kubernetes Agent (e.g.,
kubelet
andkubeadm
) or distribution-specific packages (e.g., for K3s or OpenShift). - Any additional dependencies required by your operating system or cluster configuration.
-
Join the Node to the Cluster
- Retrieve the cluster “join” command or equivalent from your existing control plane.
- Run the join command on the new node to securely authenticate and connect it to the cluster.
-
Verify Node Status
After joining, confirm that the node is recognized by the control plane and is in a Ready state. You can usekubectl get nodes
or your Kubernetes dashboard to verify that the new node is listed and available for scheduling.
Cloud-Specific Guides¶
AWS¶
Add Nodes on AWS EC2
Learn how to provision EC2 instances, install Kubernetes components, and integrate them into your cluster using AWS best practices.
Add Nodes on AWS EKS
Learn how to provision EKS instances and integrate them into your cluster using AWS best practices.
GCP¶
Add Nodes on GCP Configure and join Compute Engine instances to your Kubernetes cluster, leveraging Google Cloud’s networking and storage services.
Azure¶
Add Nodes on Azure Set up and register Virtual Machines in Microsoft Azure, ensuring they meet resource requirements and securely connect to your cluster.
Kubernetes Distributions¶
Kubernetes (Vanilla)¶
Add Nodes to a Standard Kubernetes Cluster
Step-by-step instructions for provisioning and joining nodes using upstream Kubernetes tools like kubeadm
and kubectl
.
K3s¶
Add Nodes to a K3s Cluster Tailored guidance for lightweight Kubernetes clusters managed by K3s, including node tokens and simplified installation steps.
OpenShift¶
Add Nodes to an OpenShift Cluster Detailed instructions for Red Hat OpenShift environments, addressing unique requirements like Operators, security contexts, and cluster configurations.
Tip: Always monitor cluster resource usage (CPU, memory, and storage) before and after adding nodes. This helps you confirm that the new node is functioning properly and that workloads are successfully distributing across your expanded resources.