Install Kubernetes on Jetson (Master Node) with Docker or containerd

Pick container runtime

Docker path:

sudo apt install docker.io
sudo nano /etc/docker/daemon.json
# set cgroup driver, storage, and nvidia runtime

Point Docker’s data root to NVMe for more space.

containerd path:

sudo apt install containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
# edit to use /nvme paths and SystemdCgroup=true

Install Kubernetes packages

sudo swapoff -a
sudo apt-get install -y kubelet kubeadm kubectl

Hold versions to prevent accidental upgrades.

Initialize master

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Configure kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Install CNI

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

Test with Nginx

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --type=NodePort --port=80

Conclusion

In a few commands your Jetson runs a real Kubernetes master. With NVMe storage and GPU support, it can handle surprising workloads.