Bienvenue dans ce guide pratique qui vous accompagnera dans votre apprentissage progressif de Kubernetes (K8s). Nous commencerons par créer des serveurs de base de données avec un stockage persistant dédiés à votre environnement de développement. Ces étapes vous permettront de connecter facilement vos projets, sans vous soucier de l’utilisation de ressources sur votre poste de travail.
Cette approche est conçue spécifiquement pour vous initier à l’utilisation de Kubernetes. Vous découvrirez comment configurer le stockage persistant, déployer les serveurs, diagnostiquer d’éventuels problèmes, et mettre en réseau vos services. Comme nous visons un environnement de développement, nous n’aurons pas besoin d’un haut niveau de sécurité, sujet réservé à une prochaine étape.
Configuration du stockage persistant pour PostgreSQL
Pour mettre à disposition un service PostgreSQL dans votre environnement de développement depuis votre cluster Kubernetes, nous suivons un processus en deux étapes. Dans la première étape, nous créons un partage NFS pour servir de volume persistant. Le pare-feu est également ajusté pour permettre les connexions entrantes requises.
La deuxième étape concerne la configuration du cluster Kubernetes lui-même. Un volume persistant (PV) et une revendication de volume persistant (PVC) sont créés, pointant vers le partage NFS déjà configuré. Ces configurations sont injectées dans le cluster sous un espace de noms spécifique.
Déploiement de Postgres dans Kubernetes et Outils de Diagnostic
Dans l’étape 3, nous déployons le service de base de données Postgres dans votre cluster Kubernetes. Un fichier YAML sert de feuille de route. Ce fichier décrit le déploiement et le pod, c’est-à-dire l’unité qui va effectivement exécuter Postgres. Le déploiement gère le cycle de vie du pod : si besoin, il peut créer d’autres instances ou en supprimer.
L’étape 4, quant à elle, introduit les outils d’analyse de problèmes, car dans notre domaine des erreurs peuvent toujours survenir. Ces erreurs peuvent être liées à une mauvaise configuration, un manque de ressources sur le nœud, des problèmes de réseau, ou encore le pod lui-même qui devient instable.
Mise en réseau du service Postgres dans votre cluster
L’étape 5 aborde la création du service réseau Kubernetes pour Postgres en utilisant un fichier YAML. Ce fichier codifie toutes les spécificités du service, notamment comment il communiquera avec les Pods associés. Une fois ce fichier créé et déployé, on utilise des commandes spécifiques pour vérifier que le service fonctionne correctement dans le cluster.
L’étape 6 se concentre sur la mise à disposition de ce service Postgres au-delà de la machine hôte du cluster. Des configurations de pare-feu et de redirection de port sont nécessaires pour que d’autres machines du réseau local puissent accéder à ce service.
Au final, vous avez un service Postgres opérationnel dans un environnement Kubernetes, prêt pour vos besoins de développement.
Bonus : Déploiement et mise en réseau de MySQL sur votre cluster Kubernetes
Similairement à ce que l’on a fait pour Postgres, nous allons créer un serveur MySQL dans votre cluster. On commence par initialiser un partage NFS pour le stockage de données du serveur MySQL. Ensuite, on configure le cluster Kubernetes pour orchestrer un service MySQL. On définit le PV et le PVC dans ce cluster pour pointer vers le dossier NFS partagé précédemment créé. On spécifie ensuite le déploiement de MySQL, notamment en indiquant l’environnement, les ports et autres spécifications. Ce déploiement est injecté dans le cluster Kubernetes pour être mis en exécution.
Enfin, des règles de pare-feu sont établies sur le serveur hôte pour diriger le trafic réseau vers le service MySQL dans le cluster Kubernetes. Ces configurations permettent d’accéder à la base de données MySQL à partir des autres machines du réseau.
Navigation
Liste des dossiers : Kubernetes : De l’Initiation à l’Expertise, Dossier de Formation de Zéro à Héros
Dossiers :