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.


← Back to Docs IndexInstall Guide →