Tutorial

K3s: Kubernetes ligero en su VPS

Despliegue4 min de lectura5 pasos

Kubernetes se ha convertido en la referencia para orquestar contenedores, pero su instalación estándar exige varios GB de RAM y una configuración compleja. K3s, la distribución ligera certificada por la CNCF de Rancher/SUSE, cambia las reglas del juego: un binario de 60 MB basta para hacer funcionar un clúster operativo en un VPS con 2 GB de RAM. Esta guía le acompaña paso a paso, desde la instalación hasta su primera aplicación expuesta en HTTPS mediante Traefik.

Contenido· Por qué elegir K3s en lugar de Kubernetes completo en un VPS1/5
  1. 01Por qué elegir K3s en lugar de Kubernetes completo en un VPS
  2. 02Las ventajas concretas de K3s
  3. 03Requisitos previos antes de empezar
  4. 04De la instalación a su primera aplicación en HTTPS
  5. 05K3s como puerta de entrada a Kubernetes completo

Por qué elegir K3s en lugar de Kubernetes completo en un VPS

Kubernetes estándar incorpora varios componentes pesados: etcd, kube-apiserver, kube-controller-manager y kube-scheduler se ejecutan en paralelo y consumen fácilmente de 2 a 4 GB de RAM al arrancar, sin contar sus aplicaciones. En un VPS de 2 GB no queda prácticamente nada para las cargas de trabajo reales. K3s resuelve este problema agrupando todos los componentes del control plane en un único binario, sustituyendo etcd por SQLite en los clústeres pequeños y eliminando las funciones que casi nunca se usan. El resultado: un clúster Kubernetes plenamente certificado por la CNCF, compatible con kubectl y helm, que se instala en menos de dos minutos y consume unos 512 MB para un nodo agente y alrededor de 1 GB para un nodo servidor.

Las ventajas concretas de K3s

  • Binario único de 60 MB que incluye el runtime containerd, CoreDNS y el gestor de almacenamiento local, sin dependencias de sistema adicionales.
  • Traefik integrado como ingress controller por defecto, listo para terminar el TLS sin configuración adicional.
  • Compatibilidad nativa con kubectl y helm nada más terminar la instalación, sin adaptaciones.
  • Actualización simplificada: en la mayoría de los casos basta con sustituir el binario y reiniciar el servicio.
  • Certificación CNCF v1.32 que garantiza la conformidad con la API estándar de Kubernetes.

Requisitos previos antes de empezar

Para seguir esta guía necesita un VPS con un mínimo de 2 GB de RAM y 1 vCPU bajo Ubuntu 22.04 o Debian 12. El puerto 6443 debe estar abierto en su cortafuegos para que kubectl pueda comunicarse con la API del clúster desde su máquina local. Si desea exponer servicios en HTTPS, prepare un nombre de dominio que apunte a la IP de su VPS, por ejemplo su-dominio.com. Una conexión SSH con permisos de root o sudo completa la lista.

De la instalación a su primera aplicación en HTTPS

  1. Aprovisionar el VPS y abrir los puertos necesarios

    Conéctese por SSH a su VPS y autorice los puertos 80, 443 y 6443 en su cortafuegos. En Ubuntu con ufw: ufw allow 80/tcp, ufw allow 443/tcp, ufw allow 6443/tcp. Compruebe que el sistema está actualizado con apt update && apt upgrade -y antes de continuar.

  2. Instalar K3s con un solo comando

    Ejecute el script oficial: curl -sfL https://get.k3s.io | sh -. El script descarga el binario, instala un servicio systemd llamado k3s y arranca el control plane. Al terminar la instalación, compruebe el estado del servicio con systemctl status k3s. El nodo está listo cuando su estado pasa a Ready.

  3. Configurar kubectl en local

    En su máquina local, copie el archivo kubeconfig desde su VPS: scp [email protected]:/etc/rancher/k3s/k3s.yaml ~/.kube/config. Después sustituya 127.0.0.1 por la IP pública de su VPS en ese archivo. Pruebe la conexión con kubectl get nodes: debe ver su nodo único en estado Ready.

  4. Desplegar una aplicación de ejemplo

    Cree un archivo app.yaml con un Deployment y un Service de tipo ClusterIP que exponga su aplicación en el puerto 80. Aplíquelo con kubectl apply -f app.yaml y compruebe después que el pod arranca con kubectl get pods.

  5. Configurar Traefik para el ingress HTTPS

    K3s incluye Traefik como IngressController. Cree un objeto Ingress que apunte al Service del paso anterior con la anotación kubernetes.io/ingress.class: traefik y su host su-dominio.com. Aplíquelo con kubectl apply -f ingress.yaml y compruebe el acceso HTTPS en su navegador.

En producción, desactive el uso del token por defecto almacenado en /var/lib/rancher/k3s/server/node-token para las conexiones no supervisadas. Utilice k3s token para generar tokens de vida útil limitada al añadir nodos worker. Active también los audit logs de Kubernetes pasando --kube-apiserver-arg=audit-log-path=/var/log/k3s-audit.log al arrancar el servicio.

K3s como puerta de entrada a Kubernetes completo

K3s ocupa un lugar lógico entre Docker Compose, adecuado para aplicaciones sencillas en un solo host, y un clúster Kubernetes completo, que exige una infraestructura dedicada. Le permite adquirir los reflejos de Kubernetes —Deployments, Services, Ingress, ConfigMaps, secrets— en un entorno de tamaño real, sin las limitaciones de un clúster multinodo. Cuando su tráfico o su equipo crezcan, la migración hacia un clúster upstream será directa: los manifiestos YAML y los charts de helm que haya escrito funcionarán sin modificaciones. Para profundizar en la configuración de Traefik con K3s, consulte nuestra guía sobre el despliegue con Traefik.

Un VPS listo para K3s

Nuestros VPS Cloud vienen con Ubuntu 22.04 o Debian 12, una IP dedicada y acceso root inmediato. Lo necesario para lanzar su primer clúster K3s en unos minutos.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva