Skip to content

Cómo usar Productive K3S Core

La forma más simple de usar productive-k3s-core es tratarlo como el camino directo hacia una base real de Kubernetes.

Usá Core directo cuando:

  • quieras el contrato base de instalación más claro;
  • quieras entender exactamente cómo se arma la base del cluster;
  • quieras control explícito sobre la instalación de addons o stacks una vez que la base existe.

Si preferís la experiencia más simple y recomendada del ecosistema, usá pk3s y volvé a Core solo cuando necesites detalle a nivel componente.

Comandos requeridos en el host o la VM para este camino de instalación:

  • bash
  • sudo
  • curl
  • tar
  • sha256sum
  • mktemp

Antes de instalar

Antes de correr el bootstrap, podés validar si el host destino coincide con los supuestos públicos de plataforma y con la guía de hardware:

curl -fsSL https://github.com/productive-k3s/productive-k3s-core/releases/download/X.Y.Z/productive-k3s-core-cli.sh | bash -s -- preflight

Si querés que también fallen los warnings, usá:

curl -fsSL https://github.com/productive-k3s/productive-k3s-core/releases/download/X.Y.Z/productive-k3s-core-cli.sh | bash -s -- preflight --strict

Este preflight chequea la lista de plataformas soportadas, la expectativa de systemd, los comandos requeridos y la guía práctica de hardware para el modo seleccionado.

Si ya tenés el repositorio clonado localmente, los targets equivalentes del root siguen disponibles:

make preflight
make preflight-strict

Ver Preflight del host para el comportamiento detallado.

Si querés ver cómo se ejecutaría el instalador antes de cambiar algo en la máquina, primero podés hacer un dry-run opcional:

curl -fsSL https://github.com/productive-k3s/productive-k3s-core/releases/download/X.Y.Z/productive-k3s-core-cli.sh | bash -s -- apply --dry-run

Incluso en dry-run, el script puede seguir mostrando prompts según lo que detecte en el host, por ejemplo si una instalación existente de k3s debería reutilizarse. Esos prompts se usan para armar el plan de ejecución, pero el dry-run igualmente no aplica cambios.

Qué pasará en el host

El bootstrap está pensado para correr directamente sobre la máquina de destino. Puede:

  • instalar paquetes faltantes del sistema con apt-get
  • instalar o reutilizar k3s
  • instalar o reutilizar helm
  • luego instalar stacks o add-ons explícitos sobre esa instalación local del core

Por defecto, el destino práctico es una única VM soportada o un host Linux soportado, y el contrato público de apply es core-only.

Esto no está pensado para cualquier distribución Linux. El destino tiene que coincidir con la página de plataformas soportadas, ya sea como host real o como VM.

Engines avanzados de instalación

El engine por default y esperado es el camino nativo de bootstrap incorporado en Core.

También existe una variable de entorno opcional y experimental:

PRODUCTIVE_K3S_ENGINE=native|k3sup
  • native: camino default y principal soportado
  • k3sup: backend experimental opcional para la etapa base de instalación de K3S

k3sup se integró como una opción complementaria, no como un reemplazo de productive-k3s-core. Su propósito es permitir que usuarios avanzados experimenten con las mismas decisiones base de Productive K3S usando una herramienta de instalación de K3S con la que ya se sientan cómodos.

Ese mismo contrato es el que también deja espacio para decisiones más avanzadas de engine como rke2 dentro de la evolución más amplia de Productive K3S.

Límites importantes de scope:

  • productive-k3s-core sigue siendo la capa de bootstrap, validación y operaciones
  • k3sup sólo afecta el backend de instalación base de K3S
  • el comportamiento del stack después de que K3S existe no cambia
  • las garantías de soporte siguen siendo las documentadas en la matriz soportada del repositorio

Si usás PRODUCTIVE_K3S_ENGINE=k3sup, tratá ese camino como experimental. En flujos de nodos separados o en orquestaciones manuales, la responsabilidad de pasar el contexto SSH correcto y el entorno relacionado cuando ese backend lo necesite es tuya. Eso no amplía la matriz pública de soporte hacia plataformas arbitrarias ni hacia modelos arbitrarios de orquestación.

Instalación básica

Reemplazá X.Y.Z por el release que quieras instalar:

curl -fsSL https://github.com/productive-k3s/productive-k3s-core/releases/download/X.Y.Z/productive-k3s-core-cli.sh | bash -s -- apply

Ese instalador descarga el bundle correspondiente a ese release y ejecuta sobre el host el CLI público de productive-k3s-core.

Si además querés el stack default una vez que el core está listo:

curl -fsSL https://github.com/productive-k3s/productive-k3s-core/releases/download/X.Y.Z/productive-k3s-core-cli.sh | bash -s -- stack install base

Después de instalar

Cuando el bootstrap termina, usá la documentación de validación y referencia para inspeccionar el resultado: