Install MicroK8s on each of your nodes
Make sure nodes can resolve each other (/etc/hosts or DNS)
On the first node:
microk8s add-node
Paste the printed join command on each other node
Then: kubectl get nodes
Server (first) node:
curl -sfL https://get.k3s.io | sh -
Get the join token from the server:
sudo cat /var/lib/rancher/k3s/server/node-token
Agent nodes:
curl -sfL https://get.k3s.io | \
K3S_URL=https://<server-ip>:6443 \
K3S_TOKEN=<token> sh -
kubectl talks to the API server~/.kube/config (server address + credentials)kubectlkubectl get nodes — are all nodes Ready?kubectl get pods -A — every pod, all namespaceskubectl cluster-info — where's the control plane?kubectl describe node <name> — capacity and healthMicroK8s ships add-ons you enable as needed:
microk8s enable dns
microk8s enable ingress
microk8s enable hostpath-storage
k3s bundles many defaults (Traefik ingress, local storage)
Ready