Skip to main content

Phase 1 — Kubernetes Cluster (k3s)

The cluster is the foundation of the entire platform. Everything else runs on top of it.


Node Roles

NodeIPRole
set-hog10.0.0.2Control Plane
fast-skunk10.0.0.4Worker
fast-heron10.0.0.7Worker

1. Install Control Plane

ssh ubuntu@10.0.0.2

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

k3s installs a full Kubernetes control plane (API server, scheduler, controller manager, etcd).


2. Get Join Token

sudo cat /var/lib/rancher/k3s/server/node-token

Copy this token — you'll need it for the workers.


3. Join Worker Nodes

On each worker:

# fast-skunk
ssh ubuntu@10.0.0.4

curl -sfL https://get.k3s.io | \
K3S_URL=https://10.0.0.2:6443 \
K3S_TOKEN=<TOKEN_FROM_STEP_2> \
sh -
# fast-heron
ssh ubuntu@10.0.0.7

curl -sfL https://get.k3s.io | \
K3S_URL=https://10.0.0.2:6443 \
K3S_TOKEN=<TOKEN_FROM_STEP_2> \
sh -

4. Verify Cluster

sudo kubectl get nodes

Expected output:

NAME STATUS ROLES AGE
set-hog Ready control-plane,master X
fast-skunk Ready <none> X
fast-heron Ready <none> X

All 3 nodes must show Ready.


Done When

✔ 3 nodes in Ready state
✔ kubectl get nodes returns all 3