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.