# Master Node Components
| Master Node Component | Description |
| ---------------------------- | ----------- |
| [[cloud-controller-manager Overview]] | |
| [[etcd Overview]] | |
| [[kube-scheduler Overview]] | |
| [[kube-controller-manager Overview]] | |
| [[kube-apiserver Overview]] | |
# Control Plane Deployment
Prerequisites:
* A Linux server with a minimum of 2 CPUs and 2GB of RAM
* Root access
* Docker or containerd installed
* Swap disabled
* `kubeadm`, `kubelet`, and `kubectl` installed
Install `kubeadm`, `kubelet`, and `kubectl`
```Bash
# Update the package list
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
# Add Kubernetes signing key
sudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
# Add Kubernetes repository
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | \
sudo tee /etc/apt/sources.list.d/kubernetes.list
# Install kubeadm, kubelet, and kubectl
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
# Prevent kubeadm, kubelet, and kubectl from being automatically updated (OPTIONAL)
sudo apt-mark hold kubelet kubeadm kubectl
```