[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-k3s-kubernetes-leger-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":22,"intro":25,"sections":26,"ctaTitle":68,"ctaBody":69,"ctaButton":70,"ctaUrl":71,"relatedPosts":72},207,"k3s-kubernetes-leger-vps","K3s: lightweight Kubernetes on your VPS","Run a CNCF-certified Kubernetes cluster on a modest VPS with K3s, the Rancher\u002FSUSE distribution that fits in 60 MB.",7,0,false,"2026-08-01T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},3,"Deployment","deploiement","bg-success\u002F10 text-success",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fk3s-kubernetes-leger-vps-poster.svg","Kubernetes has become the standard for container orchestration, but a standard installation requires several GB of RAM and significant configuration effort. K3s, the CNCF-certified lightweight distribution by Rancher\u002FSUSE, changes that: a 60 MB binary is enough to run a functional cluster on a VPS with 2 GB of RAM. This guide walks you through the full process, from installation to your first app served over HTTPS via Traefik.",[27,31,40,43,62,65],{"type":28,"title":29,"body":30},"h2","Why choose K3s over full Kubernetes on a VPS","Standard Kubernetes ships several heavy components: etcd, kube-apiserver, kube-controller-manager and kube-scheduler all run in parallel and easily consume 2 to 4 GB of RAM at startup, before your applications even start. On a 2 GB VPS, almost nothing is left for actual workloads. K3s solves this by packaging all control plane components into a single binary, replacing etcd with SQLite for small clusters, and removing features rarely used outside large installations. The result is a fully CNCF-certified Kubernetes cluster, compatible with `kubectl` and `helm`, that installs in under two minutes and uses around 512 MB for an agent node and about 1 GB for a server node.",{"type":32,"title":33,"items":34},"ul","The concrete advantages of K3s",[35,36,37,38,39],"**Single 60 MB binary** including the `containerd` runtime, CoreDNS and a local storage provisioner, with no additional system dependencies.","**Traefik built in** as the default ingress controller, ready to terminate TLS without extra configuration.","**Native compatibility** with `kubectl` and `helm` immediately after installation, no adaptation needed.","**Simplified upgrades**: replacing the binary and restarting the service is enough in most cases.","**CNCF v1.32 certification** guaranteeing conformance with the standard Kubernetes API.",{"type":28,"title":41,"body":42},"Prerequisites before you start","To follow this guide, you need a VPS with at least 2 GB of RAM and 1 vCPU running Ubuntu 22.04 or Debian 12. Port 6443 must be open in your firewall so that `kubectl` can reach the cluster API from your local machine. If you plan to expose services over HTTPS, prepare a domain name pointing to your VPS IP, for example `your-domain.com`. SSH access with root or sudo privileges completes the list.",{"type":44,"title":45,"steps":46},"steps","From installation to your first HTTPS app",[47,50,53,56,59],{"title":48,"body":49},"Provision the VPS and open the required ports","Connect to your VPS via SSH, then allow ports 80, 443 and 6443 in your firewall. On Ubuntu with ufw: `ufw allow 80\u002Ftcp`, `ufw allow 443\u002Ftcp`, `ufw allow 6443\u002Ftcp`. Make sure the system is up to date with `apt update && apt upgrade -y` before proceeding.",{"title":51,"body":52},"Install K3s with a single command","Run the official script: `curl -sfL https:\u002F\u002Fget.k3s.io | sh -`. The script downloads the binary, installs a systemd service named `k3s` and starts the control plane. Check the service status with `systemctl status k3s`. The node is ready when its status shows `Ready`.",{"title":54,"body":55},"Configure kubectl on your local machine","Copy the kubeconfig file from your VPS: `scp root@your-domain.com:\u002Fetc\u002Francher\u002Fk3s\u002Fk3s.yaml ~\u002F.kube\u002Fconfig`. Replace `127.0.0.1` with your VPS public IP in that file. Test the connection with `kubectl get nodes`: you should see your single node with status `Ready`.",{"title":57,"body":58},"Deploy a sample application","Create an `app.yaml` file containing a Deployment and a ClusterIP Service exposing your application on port 80. Apply it with `kubectl apply -f app.yaml`, then check that the pod starts with `kubectl get pods`.",{"title":60,"body":61},"Configure Traefik for HTTPS ingress","K3s includes Traefik as an IngressController. Create an Ingress object pointing to the Service from the previous step with the annotation `kubernetes.io\u002Fingress.class: traefik` and your host `your-domain.com`. Apply with `kubectl apply -f ingress.yaml` and verify HTTPS access in your browser.",{"type":63,"body":64},"tip","In production, avoid relying on the default token stored at `\u002Fvar\u002Flib\u002Francher\u002Fk3s\u002Fserver\u002Fnode-token` for unattended connections. Use `k3s token` to generate short-lived tokens when adding worker nodes. Also enable Kubernetes audit logs by passing `--kube-apiserver-arg=audit-log-path=\u002Fvar\u002Flog\u002Fk3s-audit.log` to the service at startup.",{"type":28,"title":66,"body":67},"K3s as a bridge to full Kubernetes","K3s fills a logical gap between Docker Compose, which works well for simple single-host applications, and a full Kubernetes cluster that requires dedicated infrastructure. It lets you build Kubernetes habits — Deployments, Services, Ingress, ConfigMaps, secrets — on a real-size environment without the overhead of a multi-node cluster. When your traffic or team grows, migrating to an upstream cluster will be straightforward: the YAML manifests and `helm` charts you have written will work without modification. To go further with Traefik configuration on K3s, check out our guide on deploying with Traefik.","A VPS ready for K3s","Our Cloud VPS come with Ubuntu 22.04 or Debian 12, a dedicated IP and immediate root access — everything you need to launch your first K3s cluster in minutes.","See our Cloud VPS","\u002Fvps-cloud",[73,87,100],{"id":74,"slug":75,"title":76,"excerpt":77,"readTime":78,"views":79,"isPinned":13,"publishedAt":80,"category":81,"categories":82,"featuredImage":22,"bgImage":23,"posterImage":84,"relatedSolution":85},38,"deployer-avec-traefik","Deploy your applications with Traefik on a VPS","Deploy Traefik as a reverse proxy on your VPS: automatic routing of Docker containers, Let's Encrypt SSL certificates and load balancing.",8,406,"2026-05-13T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[83],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-traefik-poster.svg",{"categorySlug":18,"appSlug":86},"traefik",{"id":88,"slug":89,"title":90,"excerpt":91,"readTime":11,"views":92,"isPinned":13,"publishedAt":93,"category":94,"categories":95,"featuredImage":22,"bgImage":23,"posterImage":97,"relatedSolution":98},39,"deployer-avec-caddy","Deploy your applications with Caddy on a VPS","Deploy Caddy on your VPS: web server and reverse proxy with automatic HTTPS. A Caddyfile of a few lines is enough to go into production.",443,"2026-05-12T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[96],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-caddy-poster.svg",{"categorySlug":18,"appSlug":99},"caddy",{"id":101,"slug":102,"title":103,"excerpt":104,"readTime":11,"views":12,"isPinned":13,"publishedAt":105,"category":106,"categories":112,"featuredImage":22,"bgImage":23,"posterImage":114,"relatedSolution":115},136,"demarrer-avec-docker-vps","Installing Docker on a VPS: A Clean Base for Your Apps","Set up a reliable Docker VPS: isolation, Compose, volumes, networking and best practices to deploy without improvising.","2026-02-10T00:00:00+00:00",{"id":107,"name":108,"slug":109,"color":110,"icon":111},4,"Development","developpement","bg-warning\u002F10 text-warning","dev",[113],{"id":107,"name":108,"slug":109,"color":110,"icon":111},"\u002Fblog\u002Fcovers\u002Fdemarrer-avec-docker-vps-poster.svg",{"categorySlug":111,"appSlug":116},"docker-starter",1785628453396]