Kubernetes

Pages 29-31 of the Bitsmasher Lab Operations Manual (62 pages)

Kubernetes (k3s) Cluster

Architecture

The lab uses k3s (Lightweight Kubernetes from Rancher) for container orchestration across the infrastructure:

Version Pinning

k3s version is pinned to the 2.1.x series (specifically 2.1.5 as of the latest network\_update.sh). This prevents surprise breakage from upstream k3s releases. The pinning policy follows:

\begin{lstlisting}[style=mystyle]

K3S_VERSION="2.1.5"

curl -sfL https://get.k3s.io | sh -s - \

--write-kubeconfig-mode 644

    \end{lstlisting}

Container Runtime

k3s uses containerd as the default runtime, with NVIDIA Container Toolkit for GPU workloads:

Cluster Topology

tabularx}{}{l l X}

<strong>Node Role</strong> & <strong>Target Hosts</strong> & <strong>Notes</strong> \\


k3s\_server & head2 (planned) & Control plane; not yet online\\

k3s\_agent & node900, node901, node903 & Jetson nodes as workers\\

nvidia\_nodes & GPU-equipped hosts & Container Toolkit + k3s agent

tabularx}

kubeconfig Access

After installation, kubeconfig is written to /etc/rancher/k3s/k3s.yaml} with mode 644. Cluster access requires:

The k3s_server role and k3s_agent role in lab-franklin handle the installation and configuration of these nodes via Ansible.