share-nodesK3s

Lightweight Kubernetes ..

circle-info

K3s

K3s is a lightweight, certified Kubernetes distribution designed for resource-constrained environments, edge computing, IoT devices, and development scenarios. Created by Rancher Labs (now part of SUSE), it packages everything needed to run Kubernetes into a single binary under 100MB.

This makes K3s significantly lighter than standard Kubernetes while maintaining full compatibility with Kubernetes APIs and features. It requires minimal memory (512MB minimum) and offers simplified operations with reduced dependencies.

K3s comes with built-in components like the Traefik ingress controller, local storage provisioner, and service load balancer. It's perfect for development, CI/CD, edge deployments, and ARM devices, yet remains production-ready with high availability capabilities.

K3s & Pentaho Server Architecture
circle-info

K3s Core Components

Control Plane Components

The control plane includes the API Server (Kubernetes API endpoint for cluster management), Controller Manager (manages core control loops for replication, endpoints, and namespaces), and Scheduler (assigns pods to nodes based on resource availability).

K3s can use either etcd or lightweight SQLite as the datastore for cluster state, making it more flexible than standard Kubernetes.

Node Components

Each node runs the Kubelet agent which manages pod lifecycle. Containerd is built-in as the container runtime for running containers.

Kube-proxy manages network proxying and service networking across the cluster.

Built-in Add-ons

K3s includes Traefik Ingress Controller for routing external HTTP/HTTPS traffic to services. The Local Path Provisioner enables dynamic persistent volume provisioning using local storage.

CoreDNS provides cluster DNS for service discovery. The Service Load Balancer manages LoadBalancer-type services without requiring external cloud provider integrations.

Networking

Flannel serves as the default CNI (Container Network Interface) plugin for pod networking. Network Policies control traffic flow between pods and services for enhanced security.

K3s Components
triangle-exclamation

Run through the following steps to deploy Pentaho Server on a single-node K3s with PostgreSQL 15 repository.

circle-info

Prepare Environment

The "Prepare Environment" section outlines the initial setup steps required before deploying Pentaho Server 11 on K3s:

  • copying the deployment assets to your home directory,

  • staging the Pentaho Server Enterprise Edition ZIP file, verifying the file is in place,

  • confirming K3s is properly installed and running

triangle-exclamation
  1. Create directory & copy over assets.

  1. Copy over the pentaho-server-ee-11.0.0.0-237.zip /docker/stagedArtefacts directory.

circle-info

If you have deployed an Archive Pentaho Server then copy from:

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

Otherwise download package from the Pentaho Customer Portalarrow-up-right.

  1. Verify that the file.

  1. Verify the K3s installation.

verify-k3s.sh
  1. Pentaho Server requires a valid license. The .env file contains a LICENSE_URL pointing to the Flexera license server. Ensure your license entitlements are active before deployment.

circle-exclamation

Key Differences

Aspect
Docker Deployment
K3s Deployment

Orchestration

Docker Compose

Kubernetes (K3s)

Configuration

.env file + docker-compose.yml

Kubernetes manifests (YAML)

Secrets

Docker secrets or Vault

Kubernetes Secrets

Networking

Docker bridge network

K3s cluster network + Traefik Ingress

Storage

Docker volumes

PersistentVolumeClaims (PVCs)

Scaling

Manual (docker compose up --scale)

Declarative (replicas in deployment)

Health Checks

Docker HEALTHCHECK

Kubernetes readiness/liveness probes

Init Scripts

Volume mount to /docker-entrypoint-initdb.d

ConfigMap mounted to PostgreSQL pod

Last updated

Was this helpful?