Quick Start
Run a complete K3s cluster in under 5 minutes.
Step 1: Install (30 seconds)
One-liner
curl -sfL https://get.k3s.io | sh - — works on Ubuntu, Debian, CentOS, RHEL, Fedora, Alpine, openSUSE.
Verify
sudo k3s kubectl get node — should show Ready within ~30 seconds.
Cluster ID
By default, the cluster name is 'default'. Rename with --cluster-id at install.
Step 2: Set up your environment
Save kubeconfig
mkdir -p ~/.kube && sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config && sudo chown $USER:$USER ~/.kube/config
Optional shell alias
Add alias k='sudo k3s kubectl' to ~/.bashrc. Save keystrokes.
Test it
k get pods -A — you should see Traefik and local-path-provisioner running.
Step 3: Deploy your first app
Hello World
k create deployment hello --image=nginxdemos/hello
Expose it
k expose deployment hello --port=80 --type=NodePort
Check status
k get svc hello. Look at the NodePort column. Access via http://<server-ip>:<nodeport>
Step 4: Add ingress (optional)
Traefik is default
Already running. Just create an Ingress resource.
Example
Inline manifest via heredoc — see the Install page for the full example.
Test
curl -H 'Host: hello.local' http://<server-ip>/
Step 5: Deploy a real workload
Sample: WordPress
Helm install. Add stable repo and deploy.
Sample: PostgreSQL
Helm install bitnami/postgresql with persistent volume (uses local-path).
Sample: Nextcloud
docker-compose compatible — deploy via kustomize or raw manifests.
What's next?
Multi-node
Add agents: K3S_URL=server:6443 K3S_TOKEN=*** on second machine.
HA cluster
Convert to 3-server HA: see our operations page.
Production
Review security page, set up backups, configure monitoring.