Aller au contenu principal

18 articles tagués avec « Orchestration »

Voir tous les tags

Kubernetes : kubectl

· 6 minutes de lecture

Kubectl est l'outil en ligne de commande officiel pour interagir avec les clusters Kubernetes. Chaque commande se traduit par une ou plusieurs requêtes REST vers l'API server (visibles avec -v=6) : kubectl ne dialogue jamais directement avec les nœuds. Il couvre l'intégralité des opérations courantes : déploiement, débogage, inspection, mise à l'échelle.

Kubernetes : certificats

· 6 minutes de lecture

Par défaut, les certificats clients et serveurs générés par kubeadm ont une durée de validité d'un an (dix ans pour les autorités de certification). À l'expiration, les composants du cluster ne peuvent plus s'authentifier entre eux, et le cluster devient inaccessible. Le renouvellement est une opération de maintenance prévisible, à planifier avant l'expiration plutôt qu'en urgence.

Kubernetes : composants de base

· 6 minutes de lecture

Kubernetes expose une API déclarative : l'utilisateur décrit l'état souhaité via des ressources YAML, et le cluster converge vers cet état (voir l'architecture de Kubernetes). Quatre ressources couvrent la majorité des besoins : Pod, Deployment, StatefulSet, Service. Comprendre pourquoi chacune existe, et pas seulement comment l'écrire, évite les mauvais choix d'architecture.

Kubernetes

· 6 minutes de lecture

Faire tourner quelques conteneurs sur une seule machine se gère avec Docker ou Docker Compose. Gérer des centaines de conteneurs répartis sur des dizaines de machines, avec des contraintes de disponibilité, de mise à l'échelle et de mise à jour sans interruption, est un problème fondamentalement différent. Kubernetes répond à ce problème : un système d'orchestration qui prend en charge le placement, le redémarrage, la mise à l'échelle et la communication des conteneurs à l'échelle d'un cluster.

Kubernetes : Secrets et ConfigMaps

· 5 minutes de lecture

Une image Docker doit être identique entre les environnements : dev, staging, prod. Ce qui change entre environnements, c'est la configuration : URL de base de données, niveau de log, clés API. Kubernetes fournit deux ressources pour externaliser cette configuration, en complément des composants de base : ConfigMap pour les données non sensibles, Secret pour les credentials.

Kubernetes : stockage

· 5 minutes de lecture

Les pods sont éphémères. Quand un pod est supprimé ou recréé, son système de fichiers disparaît avec lui. Pour les workloads qui ont besoin de conserver des données (bases de données, systèmes de fichiers partagés, queues persistantes), Kubernetes fournit un système de stockage découplé du cycle de vie des pods.

Docker Compose

· 9 minutes de lecture

Une application réelle combine plusieurs conteneurs : un serveur web, une base de données, un cache, un worker. Les lancer à la main impose de répéter pour chacun les options de docker run (réseau, volumes, variables, ports) et de respecter un ordre de démarrage. Docker Compose décrit l'ensemble de ces conteneurs dans un fichier YAML déclaratif et les pilote comme une seule unité, le projet.

Dokku

· 6 minutes de lecture

Dokku est une plateforme open source de type PaaS (Platform as a Service), inspirée de Heroku, qui s'installe sur un serveur unique. Le déploiement se fait par un git push vers un dépôt Git hébergé par le serveur : Dokku construit alors une image Docker à partir du code, démarre le conteneur, puis reconfigure son reverse proxy Nginx pour router le trafic vers la nouvelle version.