share-nodesK3s

Kubernetes léger ..

circle-info

K3s

K3s est une distribution Kubernetes certifiée et légère conçue pour les environnements à ressources limitées, l'informatique en périphérie, les appareils IoT et les scénarios de développement. Créée par Rancher Labs (désormais partie de SUSE), elle regroupe tout le nécessaire pour exécuter Kubernetes dans un seul binaire de moins de 100 Mo.

Cela rend K3s nettement plus léger que Kubernetes standard tout en conservant une compatibilité complète avec les API et fonctionnalités Kubernetes. Il nécessite peu de mémoire (512 Mo minimum) et offre des opérations simplifiées avec des dépendances réduites.

K3s inclut des composants intégrés tels que le contrôleur d’ingress Traefik, le provisionneur de stockage local et un équilibreur de charge de service. Il est parfait pour le développement, le CI/CD, les déploiements en périphérie et les appareils ARM, tout en restant prêt pour la production avec des capacités de haute disponibilité.

Architecture K3s & Pentaho Server
circle-info

Composants principaux de K3s

Composants du plan de contrôle

Le plan de contrôle inclut l’API Server (point de terminaison API Kubernetes pour la gestion du cluster), le Controller Manager (gère les boucles de contrôle principales pour la réplication, les endpoints et les namespaces) et le Scheduler (attribue les pods aux nœuds en fonction de la disponibilité des ressources).

K3s peut utiliser soit etcd soit le léger SQLite comme magasin de données pour l’état du cluster, ce qui le rend plus flexible que Kubernetes standard.

Composants des nœuds

Chaque nœud exécute l’agent Kubelet qui gère le cycle de vie des pods. Containerd est intégré en tant que runtime de conteneur pour exécuter les conteneurs.

Kube-proxy gère le proxy réseau et le réseau de services à travers le cluster.

Add-ons intégrés

K3s inclut le contrôleur d’ingress Traefik pour router le trafic HTTP/HTTPS externe vers les services. Le Local Path Provisioner permet le provisionnement dynamique de volumes persistants en utilisant le stockage local.

CoreDNS fournit le DNS du cluster pour la découverte de services. Le Service Load Balancer gère les services de type LoadBalancer sans nécessiter d’intégrations avec des fournisseurs cloud externes.

Mise en réseau

Flannel sert de plugin CNI (Container Network Interface) par défaut pour le réseau des pods. Les Network Policies contrôlent le flux de trafic entre pods et services pour renforcer la sécurité.

Composants K3s
triangle-exclamation

Parcourez les étapes suivantes pour déployer Pentaho Server sur un K3s mono-nœud avec un dépôt PostgreSQL 15.

circle-info

Préparer l'environnement

La section "Préparer l’environnement" décrit les étapes d’installation initiales requises avant de déployer Pentaho Server 11 sur K3s :

  • copier les assets de déploiement dans votre répertoire personnel,

  • stager le fichier ZIP de Pentaho Server Enterprise Edition, vérifier que le fichier est en place,

  • confirmer que K3s est correctement installé et en cours d’exécution

triangle-exclamation
  1. Créer le répertoire et copier les assets.

  1. Copiez le pentaho-server-ee-11.0.0.0-237.zip dans le répertoire /docker/stagedArtefacts.

circle-info

Si vous avez déjà déployé un Pentaho Server Archive, copiez depuis :

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

Sinon, téléchargez le package depuis le Portail client Pentahoarrow-up-right.

  1. Vérifiez que le fichier existe.

  1. Vérifier l’installation de K3s.

verify-k3s.sh
  1. Pentaho Server requiert une licence valide. Le .env fichier contient une LICENSE_URL pointant vers le serveur de licences Flexera. Assurez-vous que vos droits de licence sont actifs avant le déploiement.

circle-exclamation

Principales différences

Aspect
Déploiement Docker
Déploiement K3s

Orchestration

Docker Compose

Kubernetes (K3s)

Configuration

.env fichier + docker-compose.yml

manifests Kubernetes (YAML)

Secrets

secrets Docker ou Vault

Kubernetes Secrets

Mise en réseau

réseau pont Docker

réseau de cluster K3s + Ingress Traefik

Stockage

volumes Docker

PersistentVolumeClaims (PVCs)

Mise à l’échelle

Manuelle (docker compose up --scale)

Déclarative (replicas dans le deployment)

Contrôles de santé

Docker HEALTHCHECK

probes readiness/liveness Kubernetes

Scripts d’initialisation

Montage de volume vers /docker-entrypoint-initdb.d

ConfigMap monté sur le pod PostgreSQL

Mis à jour

Ce contenu vous a-t-il été utile ?