L’article explore l’intégration de Karpenter avec Cluster API (CAPI) pour automatiser l’autoscaling des nœuds Kubernetes, notamment sur OVH. L’auteur compare deux solutions : Cluster Autoscaler, qui gère des groupes de machines prédéfinis, et Karpenter, qui provisionne dynamiquement des nœuds en fonction des besoins des pods, sans nécessiter de configuration manuelle de groupes. Karpenter, initialement conçu pour AWS, est désormais agnostique grâce à sa donation à la CNCF, avec des providers tiers comme karpenter-provider-cluster-api pour CAPI, permettant une intégration avec des clouds comme OVH.
L’auteur détaille le fonctionnement de Karpenter, notamment ses ressources clés comme les NodePools, qui définissent les règles de provisionnement, et son approche par pods en attente (Pending). Contrairement à son mode natif (standalone), l’utilisation avec CAPI impose un cluster de management supplémentaire, ce qui complexifie légèrement l’architecture. Le texte souligne aussi les différences philosophiques entre les deux outils : Karpenter optimise les coûts en choisissant des instances adaptées (y compris Spot), tandis que Cluster Autoscaler se base sur des groupes de nœuds préconfigurés.
Enfin, l’article présente un retour d’expérience pratique avec des tests de scale-up et scale-down, mettant en lumière les défis rencontrés, comme la gestion des taints ou les limites du scale-to-zero. L’auteur conclut en comparant Karpenter et Cluster Autoscaler, soulignant les avantages de Karpenter pour les charges irrégulières, tout en notant les contraintes liées à son intégration avec CAPI.
L’auteur partage son expérience pour déployer un cluster Kubernetes managé (MKS) avec Cilium sur OVH Cloud, en comparant les approches CLI et interface web. Il explique que la version gratuite utilise Calico par défaut, tandis que Cilium n’est disponible qu’avec le plan standard payant, nécessitant aussi une gateway. L’interface graphique simplifie la création du réseau privé et du cluster, contrairement à la CLI qui s’avère complexe pour cette configuration.
Le tutoriel détaille ensuite les étapes techniques : configuration de l’authentification via la CLI OVH, récupération du Kubeconfig, et création d’un cluster avec un nodepool de deux nœuds. L’auteur souligne l’importance de bien préparer l’environnement (région compatible, réseau privé, gateway) avant de procéder à l’installation, et recommande des outils comme Terraform pour des déploiements plus sérieux.
Enfin, il explore les fonctionnalités de Cilium, comme l’observation du réseau, la gestion des Pods et des CRD, ainsi que la configuration avancée via CiliumNodeConfig, incluant l’activation de WireGuard pour le chiffrement. L’article sert de guide pratique pour intégrer Cilium dans un cluster OVH, avec des conseils concrets pour surmonter les défis techniques.
Kubernetes est un outil open source d’orchestration de conteneurs, développé initialement par Google, conçu pour gérer des applications conteneurisées de manière scalable et résiliente. Il s’impose comme une solution clé dans l’industrie, notamment avec l’adoption des microservices et la multiplication des conteneurs. Parmi ses fonctionnalités principales figurent la haute disponibilité, la scalabilité, la reprise après sinistre et la gestion des configurations via des composants comme ConfigMap et Secret.
L’architecture de Kubernetes repose sur des pods, unités de base regroupant un ou plusieurs conteneurs, et des services qui assurent une adresse IP permanente pour les applications, indépendamment du cycle de vie des pods. Les déploiements permettent de maintenir plusieurs instances d’une application pour éviter les temps d’arrêt, tandis que les StatefulSets gèrent les bases de données de manière ordonnée. Les volumes offrent une solution pour la persistance des données, car Kubernetes ne gère pas nativement leur stockage.
Au niveau des nœuds, trois processus essentiels fonctionnent : le Kubelet, qui supervise les conteneurs sur un nœud en suivant les instructions du plan de contrôle, le Kube-proxy, qui gère les règles réseau pour les services, et un moteur d’exécution de conteneurs (comme Docker ou containerd). Ces éléments collaborent pour assurer une orchestration efficace des applications dans un cluster.
L'auteur explique comment accéder à distance à un cluster Kubernetes Talos en utilisant un tunnel SSH via la fonctionnalité LocalForward. Après avoir migré d'un cluster K3S vers Talos, il ne pouvait plus se connecter directement au control-plane en SSH, nécessitant une solution alternative.
La solution repose sur l'utilisation d'un conteneur LXC comme machine de rebond, configurée pour rediriger le port 6443 (utilisé par l'API Kubernetes) vers la machine cible. Contrairement à la méthode précédente avec K3S, la redirection ne se fait pas vers localhost mais vers une adresse IP spécifique du réseau local.
Cette astuce permet d'exécuter des commandes comme kubectl ou k9s en local tout en passant par le tunnel SSH, simplifiant ainsi l'accès aux ressources du cluster sans connexion directe au nœud principal.
Alexandre Vandemoortèle partage sa troisième version de HomeLab, un cluster silencieux, économe et performant, avec 150 Go de RAM, 3,64 To de stockage NVMe en RAID 5 et une gestion d'énergie optimisée. Il explique sa philosophie axée sur le silence, la performance par watt et le rapport qualité/prix, tout en détaillant les évolutions depuis ses versions précédentes. Le cœur de cette version repose sur trois mini-PC formant un cluster, avec des spécifications techniques précises et un refroidissement silencieux. Il aborde également les équipements annexes et le coût annuel estimé de son infrastructure.
L'auteur décrit son infrastructure autohébergée basée sur un cluster Proxmox composé de trois machines identiques, choisies pour leur facilité de maintenance, leur faible coût et leur faible consommation électrique. Il explique les raisons de ce choix, notamment la gestion des pannes et la tolérance aux pannes réseau. Il mentionne également un nœud de test et un serveur de sauvegarde, ainsi qu'un NAS Synology utilisé pour les sauvegardes hors ligne. L'auteur souligne l'importance de documenter et de partager ce type d'infrastructure, qui est rarement décrit en détail.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Il s'agit de deux outils liés à la Haute Disponibilité.
Corosync assure la gestion des messages et des informations d'état entre les différents nœuds d'un cluster. Pacemaker est un gestionnaire de ressources avancé, capable de gérer la répartition et la récupération des services en cas de défaillance d'un composant du système.
Tout est dans le titre
Guide de mise en place d'un cluster Loki avec un stockage objet MinIO, une VIP et un chiffrement TLS
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre