Retour au blog

Configuration de WordPress avec MySQL sur Kubernetes avec Helm

Configuration de WordPress avec MySQL sur Kubernetes avec Helm

Kubernetes est désormais le moyen standard de déployer des applications évolutives et hautement disponibles. Kubernetes permet aux développeurs de démarrer et d'arrêter rapidement des instances selon les besoins pour assurer une diffusion fluide du contenu. Pour en savoir plus sur Kubernetes, suivez notre guide détaillé Découvrir Kubernetes.

Helm est un gestionnaire de paquets très populaire utilisé pour installer des applications sur Kubernetes. Helm vise à déployer et gérer des applications sur des clusters Kubernetes et à simplifier le processus au fur et à mesure. Il permet également d'accéder à des applications prêtes à l'emploi pour Kubernetes qui sont packagées. Celles-ci sont appelées Charts. Se familiariser avec Kubernetes et Helm est un atout important dans l'arsenal de tout spécialiste DevOps.

WordPress est l'un des systèmes de gestion de contenu (CMS) les plus populaires. Le combiner avec la MySQL base de données permet d'obtenir des applications web hautement performantes et évolutives. Conserver MySQL en externe permettra également à un plus grand nombre d'applications de tirer parti de la même base de données pour leurs cas d'utilisation.

Dans cet article, nous allons installer WordPress sur Kubernetes à l'aide du gestionnaire de paquets Helm et les connecter à un serveur MySQL externe. Commençons !

Prérequis

La configuration logicielle suivante sera nécessaire pour mener à bien ce tutoriel :

  1. Un cluster Kubernetes opérationnel. Suivez ce tutoriel pour connaître les étapes d'installation de Kubernetes sur Ubuntu.
  2. L'outil en ligne de commande Kubernetes kubectl.
  3. Vous aurez besoin d'un gestionnaire de paquets Helm installé. Si vous n'avez pas Helm prêt à l'emploi, vous pouvez le télécharger depuis sa page de publication officielle sur GitHub – helm/helm: The Kubernetes Package Manager. Pour commencer avec un guide étape par étape pour Helm, vous pouvez également lire Introduction à Helm : Gestionnaire de paquets pour Kubernetes.
  4. Vous devrez avoir installé MySQL ainsi que l'utilisateur root et son mot de passe. Si vous débutez avec MySQL, n'hésitez pas à consulter Comment configurer MySQL sur un serveur et les bases de MySQL et Utilisateur MySQL – Créer et accorder des autorisations.

Vous devez également disposer d'un cluster Kubernetes en cours d'exécution connecté à MySQL. Pour les utilisateurs disposant de plusieurs clusters, assurez-vous de connaître le cluster actuellement connecté à MySQL. Pour voir tous les différents clusters configurés dans votre fichier de configuration kubectl, exécutez la commande ci-dessous :

Sur votre machine, vous devriez obtenir la sortie ci-dessous :

Current

Name

Cluster

AuthInfo

Namespace

*

docker-desktop

docker-desktop

docker-desktop

Puisque nous utilisons Docker Desktop pour exécuter Kubernetes, vous voyez docker-desktop affiché. Vos valeurs peuvent être différentes. Le signe astérisque (*) indique quel cluster est actuellement le contexte par défaut. Si vous devez changer le contexte actuel, exécutez :

Vous êtes maintenant prêt à suivre les étapes du tutoriel.

Configuration de MySQL

Tout d'abord, nous allons créer un utilisateur dédié dans MySQL pour se connecter à WordPress. Cela est nécessaire car notre installation WordPress résidera sur un serveur distinct au sein du cluster Kubernetes. Depuis le serveur MySQL, connectez-vous à MySQL avec la commande suivante :

Le mot de passe root vous sera demandé. Saisissez le mot de passe et vous serez connecté.

  • Création d'une base de données dédiée pour WordPress

Dans MySQL, il peut y avoir un nombre illimité de bases de données. D'autres bases de données peuvent également être partagées entre les applications. WordPress est également fourni avec sa propre base de données. Ici, nous devons créer une base de données dédiée pour WordPress. Pour créer cette base de données dédiée, vous pouvez exécuter l'instruction ci-dessous dans le terminal MySQL :

  • Création d'un utilisateur dédié pour WordPress

Une fois la base de données créée, nous allons créer un utilisateur dédié pour cette base de données. Nous utiliserons cet utilisateur pour nous connecter à notre base de données nouvellement créée :

Saisissez un mot de passe fort ci-dessus. Bien que nous ayons créé l'utilisateur pour WordPress, nous n'avons ajouté aucun privilège jusqu'à présent. Nous devons fournir des privilèges à nos utilisateurs pour l'accès et les opérations DML (Data Manipulation Language). Pour faire simple, nous allons fournir à nos utilisateurs tous les privilèges. Soyez prudent, cela n'est pas recommandé en Production. Exécutez la commande ci-dessous dans le shell MySQL :

Pour mettre à jour les tables internes de MySQL qui gèrent les autorisations d'accès, utilisez l'instruction suivante :

Enfin, vous pouvez fermer le client MySQL en exécutant la commande ci-dessous dans le shell MySQL :

  • Vérification de notre utilisateur et de notre base de données

Ensuite, nous devons vérifier que notre WordPress utilisateur peut se connecter à la base de données WordPress. Pour ce faire, ouvrez le shell MySQL et exécutez la commande ci-dessous :

Vous serez invité à saisir le mot de passe. Utilisez le mot de passe que vous avez saisi ci-dessus pour l'utilisateur WordPress. Si vous parvenez à vous connecter, félicitations, vous avez créé un utilisateur MySQL avec succès. Ensuite, vérifiez que cet utilisateur a accès à la base de données WordPress. Exécutez la commande ci-dessous dans le shell MySQL :
Si vous voyez votre base de données WordPress ci-dessous, votre utilisateur WordPress a accès à la base de données WordPress.

  • Autoriser les connexions distantes à notre serveur MySQL

Jusqu'à présent, nous avons un utilisateur WordPress et une base de données WordPress fonctionnels. Cependant, notre serveur MySQL et notre base de données WordPress se trouvent sur des serveurs distincts. Par conséquent, nous devons nous assurer que WordPress peut se connecter à la base de données MySQL. Pour cela, nous devons modifier notre configuration MySQL pour autoriser les connexions provenant d'hôtes distants. Vous devrez modifier le fichier mysqld.cnf. Sur les systèmes basés sur Linux, ce fichier se trouve sous :

Après cela, ouvrez le fichier à l'aide de n'importe quel éditeur de texte et localisez le bind-address. Le bind-address spécifie l'adresse IP sur laquelle MySQL peut écouter. Par défaut, MySQL écoute uniquement sur 127.0.0.1.. Pour autoriser les connexions depuis des hôtes externes, modifiez le bind-address par 0.0.0.0.. Pour que ces modifications soient prises en compte, redémarrez le serveur MySQL en exécutant la commande ci-dessous :

Ensuite, si vous souhaitez tester si vous pouvez vous connecter à distance, exécutez la commande suivante depuis votre machine locale ou votre serveur de développement :
Ajoutez mysql_server_ip à la commande ci-dessus et exécutez-la. Si vous pouvez vous connecter sans erreur, vous pouvez continuer.

Installation et mise à niveau de WordPress

Par défaut, WordPress utilise MariaDB comme base de données. Nous ne voulons pas utiliser cette base de données, car nous voulons notre base de données MySQL. En plus de ce changement, nous devons également configurer l'utilisateur administrateur et le mot de passe. Nous le ferons en implémentant des paramètres de ligne de commande.

Tout d'abord, créez un nouveau dossier nommé my blog-settings. À l'intérieur du dossier, créez un nouveau fichier nommé values.yaml. Saisissez le contenu ci-dessous dans le fichier values.yaml :

Ce fichier est explicite. Notez que ci-dessous nous avons désactivé MariaDB. Maintenant que notre configuration est prête, il est temps d'exécuter helm pour une installation WordPress. Exécutez la commande ci-dessous dans PowerShell :

Une fois le processus terminé, vous verrez un service créé sous le nom myblog-wordpress. Il faudra un certain temps avant que WordPress soit prêt à être utilisé. Pour trouver les services en cours d'exécution, exécutez la commande ci-dessous :
Vous obtiendrez un résultat comme celui-ci :

NAME

TYPE

CLUSTER-IP

EXTERNAL-IP

PORT

myblog-wordpress

ClusterIP

10.96.0.1

<none>

80:31403/TCP,443:30879/TCP

Ici, nous avons des informations très utiles sur les services en cours d'exécution. Nous devons prêter attention à l'IP externe et au port. L'IP externe est l'IP sur laquelle votre WordPress est servi. Comme nous utilisons Docker Desktop, nous obtenons none sous l'IP externe. Vous obtiendrez l'IP en fonction de votre système. Ouvrez votre navigateur Web et saisissez cette IP. Vous verrez la page de connexion de WordPress :

WordPress with MySQL 1

Ce sont les identifiants que nous avons fournis dans le fichier YAML ci-dessus. Saisissez ces identifiants et vous serez prêt à configurer votre site Web sur WordPress et à stocker du contenu sur notre base de données MySQL nouvellement créée.

Mise à niveau de WordPress

WordPress publie des mises à jour pour corriger les failles de sécurité et déployer plus de fonctionnalités/correctifs de bugs et plus encore. Vous pouvez mettre à niveau l'installation de WordPress en exécutant la commande ci-dessous dans PowerShell :

Avant la mise à niveau, si vous souhaitez voir la liste des versions, vous pouvez exécuter la commande ci-dessous :

Vous obtiendrez la sortie ci-dessous comme :

Si vous souhaitez voir s'il existe une nouvelle version du dépôt WordPress disponible, vous pouvez exécuter la commande ci-dessous :

Chaque fois que vous souhaitez mettre à niveau votre version de WordPress vers le dernier chart WordPress, vous devez exécuter :

We have to use the same configuration file as before so that the configuration values do not change.

Annuler une version

Chaque fois que vous effectuez une mise à niveau à l'aide de Helm, Helm crée un point de contrôle de la version. Vous pouvez revenir en arrière si les choses ne fonctionnent pas comme prévu. Les versions peuvent être comparées et restaurées. Si le processus de mise à niveau se passe mal en raison d'un problème quelconque, vous pouvez revenir à la version précédente. Pour annuler, exécutez la commande ci-dessous :

Dans notre cas, exécutez la commande ci-dessous pour revenir à la version précédente :

Pour vérifier maintenant que le processus de restauration s'est terminé avec succès, vous pouvez exécuter la commande helm list.

Conclusion

Dans ce tutoriel complet, nous vous avons montré comment configurer MySQL et installer WordPress avec ce MySQL externe. Nous avons installé WordPress sur Kubernetes à l'aide du gestionnaire de paquets Helm et avons également effectué des mises à niveau dans WordPress.

Maintenant que vous connaissez l'installation sur Kubernetes à l'aide de Helm, ne vous arrêtez pas là. N'hésitez pas à parcourir le blog de CloudSigma pour en savoir plus sur Kubernetes :

Bonne informatique !

author

Hark Labs

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.