share-nodesK3s

Kubernetes ligero ..

circle-info

K3s

K3s es una distribución de Kubernetes certificada y ligera diseñada para entornos con recursos limitados, computación en el borde, dispositivos IoT y escenarios de desarrollo. Creada por Rancher Labs (ahora parte de SUSE), empaqueta todo lo necesario para ejecutar Kubernetes en un único binario de menos de 100 MB.

Esto hace que K3s sea significativamente más ligero que Kubernetes estándar, manteniendo la completa compatibilidad con las API y características de Kubernetes. Requiere memoria mínima (512 MB como mínimo) y ofrece operaciones simplificadas con dependencias reducidas.

K3s incluye componentes integrados como el controlador de ingreso Traefik, el aprovisionador de almacenamiento local y un balanceador de carga de servicios. Es perfecto para desarrollo, CI/CD, despliegues en el borde y dispositivos ARM, y aun así está listo para producción con capacidades de alta disponibilidad.

Arquitectura de K3s y Pentaho Server
circle-info

Componentes centrales de K3s

Componentes del plano de control

El plano de control incluye el API Server (punto de entrada de la API de Kubernetes para la gestión del clúster), el Controller Manager (gestiona los bucles de control principales para replicación, endpoints y namespaces) y el Scheduler (asigna pods a nodos según la disponibilidad de recursos).

K3s puede usar etcd o SQLite liviano como almacén de datos para el estado del clúster, lo que lo hace más flexible que Kubernetes estándar.

Componentes de nodo

Cada nodo ejecuta el agente Kubelet que gestiona el ciclo de vida de los pods. Containerd está integrado como el runtime de contenedores para ejecutar contenedores.

Kube-proxy gestiona el proxy de red y el enrutamiento de servicios a lo largo del clúster.

Complementos integrados

K3s incluye el controlador de ingreso Traefik para enrutar tráfico HTTP/HTTPS externo hacia los servicios. El Local Path Provisioner permite el aprovisionamiento dinámico de volúmenes persistentes usando almacenamiento local.

CoreDNS proporciona DNS de clúster para el descubrimiento de servicios. El Service Load Balancer gestiona servicios de tipo LoadBalancer sin requerir integraciones con proveedores de nube externos.

Redes

Flannel sirve como el plugin CNI (Container Network Interface) predeterminado para la red de pods. Las Network Policies controlan el flujo de tráfico entre pods y servicios para mayor seguridad.

Componentes de K3s
triangle-exclamation

Siga los siguientes pasos para desplegar Pentaho Server en un K3s de nodo único con repositorio PostgreSQL 15.

circle-info

Preparar el entorno

La sección "Preparar el entorno" describe los pasos de configuración inicial requeridos antes de desplegar Pentaho Server 11 en K3s:

  • copiar los activos de despliegue a su directorio home,

  • preparar el archivo ZIP de Pentaho Server Enterprise Edition, verificando que el archivo esté en su lugar,

  • confirmar que K3s esté correctamente instalado y en ejecución

triangle-exclamation
  1. Crear directorio y copiar los assets.

  1. Copie pentaho-server-ee-11.0.0.0-237.zip al directorio /docker/stagedArtefacts.

circle-info

Si ha desplegado un Pentaho Server de archivo, copie desde:

/opt/pentaho/software/pentaho-server-ee-version

De lo contrario descargue el paquete desde el Portal de clientes de Pentahoarrow-up-right.

  1. Verifique que el archivo exista.

  1. Verifique la instalación de K3s.

verify-k3s.sh
  1. Pentaho Server requiere una licencia válida. El .env archivo contiene un LICENSE_URL que apunta al servidor de licencias de Flexera. Asegúrese de que sus derechos de licencia estén activos antes del despliegue.

circle-exclamation

Diferencias clave

Aspecto
Despliegue Docker
Despliegue K3s

Orquestación

Docker Compose

Kubernetes (K3s)

Configuración

.env archivo + docker-compose.yml

Manifiestos de Kubernetes (YAML)

Secrets

Secrets de Docker o Vault

Secrets de Kubernetes

Redes

Red puente de Docker

Red del clúster K3s + Ingress Traefik

Almacenamiento

Volúmenes de Docker

PersistentVolumeClaims (PVCs)

Escalado

Manual (docker compose up --scale)

Declarativo (réplicas en deployment)

Checks de salud

Docker HEALTHCHECK

Probes de readiness/liveness de Kubernetes

Scripts de inicialización

Montaje de volumen en /docker-entrypoint-initdb.d

ConfigMap montado en el pod de PostgreSQL

Última actualización

¿Te fue útil?