For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/databases/mysql-tuto-connect-k8s-to-managed-mysql.md.

Connecter Managed Kubernetes à Public Cloud Databases pour MySQL

Voir en Markdown

Découvrez comment connecter OVHcloud Managed Kubernetes à une base de données OVHcloud Managed MySQL

Objectif

Dans ce tutoriel, nous allons vous montrer comment connecter votre OVHcloud Managed Kubernetes Service à une base de données OVHcloud Managed MySQL.

Warning

OVHcloud fournit des services dont vous êtes responsable de la configuration et de la gestion. Vous êtes donc responsable de leur bon fonctionnement.

Ce tutoriel est conçu pour vous aider autant que possible dans vos tâches courantes. Si vous rencontrez des difficultés pour réaliser ces actions, veuillez contacter un prestataire de services spécialisé et/ou en discuter avec notre communauté d'utilisateurs sur https://community.ovh.com/fr/. OVHcloud ne peut pas vous fournir d'assistance technique à ce sujet.

Avant de commencer

Ce tutoriel suppose que vous disposez déjà d'un cluster OVHcloud Managed Kubernetes fonctionnel, ainsi que de connaissances de base sur son utilisation. Si vous souhaitez en savoir plus sur ces sujets, veuillez consulter le guide Démarrer avec OVHcloud Managed Kubernetes Service.

Vous devez avoir Helm installé sur votre poste de travail et sur votre cluster. Veuillez consulter le tutoriel Comment installer Helm sur OVHcloud Managed Kubernetes Service.

Enfin, vous devez être en mesure de commander une solution de base de données depuis l'espace client OVHcloud, comme expliqué dans notre guide Démarrer avec Public Cloud Databases.


Accès à l'espace client OVHcloud

  • Lien direct :
  • Chemin de navigation : Public Cloud > Sélectionnez votre projet

En pratique

Créer une base de données MySQL

Souscrire au service

Cliquez sur Databases dans le menu de navigation de gauche, sous Storage.

Cliquez sur le bouton Créer une instance (Créer un service si votre projet contient déjà des bases de données).

Étape 1 : Sélectionner une base de données MySQL

Cliquez sur la base de données MySQL, puis sélectionnez la version à installer dans le menu déroulant. Cliquez sur Suivant pour continuer.

Choisir la base de données MySQL

Étape 2 : Sélectionner une solution

À cette étape, choisissez un plan de service adapté. Vous pourrez faire évoluer le plan après la création.

Choisir le plan

Veuillez consulter la page des caractéristiques pour obtenir des informations détaillées sur les propriétés de chaque plan.

Cliquez sur Suivant pour continuer.

Étape 3 : Sélectionner un emplacement

Choisissez la région géographique du datacenter dans lequel votre base de données sera hébergée.

Choisir la région

Cliquez sur Suivant pour continuer.

Étape 4 : Configurer les nœuds de la base de données

Vous pouvez choisir le modèle de nœud à cette étape. Le nombre initial et maximal de nœuds dépend de la solution choisie à l'étape 2.

Commander des nœuds

Veuillez consulter la page des caractéristiques pour obtenir des informations détaillées sur les ressources matérielles et les autres propriétés de l'installation de la base de données MySQL.

Prenez note des informations tarifaires puis cliquez sur Suivant pour continuer.

Étape 5 : Configurer vos options

Vous pouvez nommer votre base de données à cette étape.

Configurer les options

Étape 6 : Récapitulatif et confirmation

La dernière section affiche un récapitulatif de votre commande ainsi que l'équivalent API pour la création de cette instance de base de données avec l'API OVHcloud.

Confirmer la commande

En quelques minutes, votre nouveau service de base de données sera déployé. Des messages dans l'espace client OVHcloud vous informeront lorsque la base de données sera prête à être utilisée.

Votre base de données est prête lorsque le statut du cluster indique « Ready », le statut des nœuds est vert et le nombre d'utilisateurs est fixé à « 1 user ».

Statuts verts sur l'espace client Database

Autoriser votre cluster OVHcloud Managed Kubernetes

Warning

Pour des raisons de sécurité, la configuration réseau par défaut n'autorise aucune connexion entrante. Pour permettre l'accès depuis votre OVHcloud Managed Kubernetes Service vers la base de données, les IPs des nœuds du cluster doivent être autorisées. L'ajout des IPs des nœuds du cluster Kubernetes à la liste autorisée n'est pas recommandé en environnement de production, et ne doit être effectué qu'à des fins de test. Prochainement, nous rédigerons un guide sur l'utilisation du vrack et sur la manière d'interconnecter vos différents services managés.

Ajouter les IPs des nœuds du cluster Kubernetes à la liste autorisée de la base de données

Récupérez les adresses IP des nœuds de votre cluster Kubernetes depuis le menu Compute / Instances à gauche.

Liste des IPs des nœuds sur l'espace client Instances

En suivant la documentation associée sur comment autoriser les adresses IP appropriées, ajoutez les IPs des nœuds de votre cluster Kubernetes à la liste autorisée.

Statuts verts et IPs autorisées configurées sur l'espace client Database

Tester la connexion entre le cluster Kubernetes et la base de données MySQL

Un moyen simple et rapide de tester la connexion consiste à démarrer un client MySQL dans un pod, et à utiliser la Command Line Interface (CLI) pour se connecter à la base de données.

Démarrer un client MySQL dans un pod

kubectl run mysql-client --image=mysql:8 -it --rm --restart=Never -- /bin/bash

Vous êtes maintenant à l'intérieur du pod que vous venez de créer sur votre cluster, vous pouvez simplement utiliser la CLI MySQL pour vous connecter à votre base de données Managed MySQL.

Les paramètres utiles sont :

  • L'Host et le Port de la base de données

    • Récupérez-les depuis l'onglet « General Information »
  • Le nom de la base de données

    • Récupérez-le depuis l'onglet « Databases », généralement « defaultdb »
  • L'utilisateur de la base de données

    • Récupérez-le depuis l'onglet « Users », généralement « avnadmin »
  • Le mot de passe de la base de données

    • Récupérez-le après l'avoir régénéré.
Mot de passe régénéré

Connectez-vous maintenant à la base de données avec la commande suivante

mysql -uavnadmin -pxxxxxxxxxxxxxx -hmysql-xxxxxxxx-xxxxxxxxx.database.cloud.ovh.net -P20184 defaultdb
root@mysql-client:/# mysql -uavnadmin -pxxxxxxxxxxxxxx -hmysql-xxxxxxxx-xxxxxxxxx.database.cloud.ovh.net -P20184 defaultdb
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3603
Server version: 8.0.26 Source distribution

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

L'installation est terminée, votre base de données Managed MySQL est pleinement opérationnelle, allons plus loin en l'utilisant avec WordPress hébergé sur Kubernetes.

Installer le chart Helm WordPress

Pour ce tutoriel, nous utilisons le chart Helm WordPress disponible sur le dépôt Bitnami. Le chart est entièrement configurable, mais ici nous utilisons la configuration par défaut, avec uniquement l'ensemble minimal de personnalisations nécessaires pour qu'il fonctionne correctement sur OVHcloud Managed Kubernetes Service.

Prérequis

Comme décrit dans le tutoriel Installer WordPress sur OVHcloud Managed Kubernetes, supprimez la classe de stockage par défaut et installez la nouvelle.

kubectl delete storageclasses.storage.k8s.io csi-cinder-high-speed

kubectl apply -f https://raw.githubusercontent.com/ovh/docs/develop/pages/public_cloud/containers_orchestration/managed_kubernetes/fix-persistent-volumes-permissions/files/fixed-cinder-high-speed-storage-class.yaml

Personnaliser votre installation

Par défaut, le chart Helm installe WordPress et une base MariaDB sur le cluster Kubernetes. Comme vous souhaitez utiliser votre base de données OVHcloud Managed MySQL, vous devez personnaliser l'installation Helm en définissant l'URL, l'utilisateur et le mot de passe de votre base de données.

Afin de personnaliser votre installation, sans avoir à renoncer à la simplicité d'utilisation de Helm et du chart Helm WordPress, vous pouvez simplement définir certains des paramètres configurables du chart WordPress.

Vous pouvez ensuite les ajouter à votre commande helm install avec l'option --set (--set param1=value1,param2=value2)

Les options à définir pour accéder à la base de données Managed MySQL sont :

mariadb.enabled=false
externalDatabase.host=mysql-abcdefgh-ijklmnopq.database.cloud.ovh.net
externalDatabase.user=avnadmin
externalDatabase.password=mYStrongPasswOrdHere
externalDatabase.database=defaultdb
externalDatabase.port=20184

Cela installera les éléments nécessaires (un pod WordPress pour le serveur web avec le code PHP de WordPress), allouera les volumes persistants et initialisera les services. Et à la fin, cela vous fournira les paramètres de connexion de votre nouveau WordPress :

$ helm install my-wordpress bitnami/wordpress --set allowOverrideNone=true,mariadb.enabled=false,externalDatabase.host=mysql-abcdefgh-ijklmnopq.database.cloud.ovh.net,externalDatabase.user=avnadmin,externalDatabase.password=mYStrongPasswOrdHere,externalDatabase.database=defaultdb,externalDatabase.port=20184
NAME: my-wordpress
LAST DEPLOYED: Thu Dec 23 15:49:33 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: wordpress
CHART VERSION: 12.2.7
APP VERSION: 5.8.2

** Please be patient while the chart is being deployed **

Your WordPress site can be accessed through the following DNS name from within your cluster:

    my-wordpress.default.svc.cluster.local (port 80)

To access your WordPress site from outside the cluster follow the steps below:

1. Get the WordPress URL by running these commands:

  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
        Watch the status with: 'kubectl get svc --namespace default -w my-wordpress'

   export SERVICE_IP=$(kubectl get svc --namespace default my-wordpress --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
   echo "WordPress URL: http://$SERVICE_IP/"
   echo "WordPress Admin URL: http://$SERVICE_IP/admin"

2. Open a browser and access WordPress using the obtained URL.  

3. Login with the following credentials below to see your blog:

  echo Username: user
  echo Password: $(kubectl get secret --namespace default my-wordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)
Warning

Assurez-vous que votre base de données MySQL defaultdb est vide avant d'exécuter la commande helm install. Si une installation précédente est détectée, des paramètres comme l'utilisateur et le mot de passe ne seront pas mis à jour, et la configuration à l'intérieur du cluster Kubernetes ne correspondra donc pas à celle de la base de données.

Comme indiqué dans les instructions, vous devrez patienter quelques instants pour obtenir l'URL du LoadBalancer. Vous pouvez vérifier si le LoadBalancer est prêt en utilisant :

kubectl get svc --namespace default -w my-wordpress

Après quelques minutes, vous obtiendrez l'URL du LoadBalancer :

$ kubectl get svc --namespace default -w my-wordpress
NAME           TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                      AGE
my-wordpress   LoadBalancer   10.3.193.143   135.125.83.116   80:32027/TCP,443:32293/TCP   4m30s

Vous pouvez ensuite suivre les instructions pour obtenir l'URL d'administration :

$ export SERVICE_IP=$(kubectl get svc --namespace default my-wordpress --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
$ echo "WordPress URL: http://$SERVICE_IP/"
WordPress URL: http://135.125.83.116/
$ echo "WordPress Admin URL: http://$SERVICE_IP/admin"
WordPress Admin URL: http://135.125.83.116/admin

Et en saisissant l'URL dans votre navigateur, vous accéderez à votre nouveau blog :

Écran de connexion WordPress

Vous pouvez également utiliser les instructions fournies par la commande helm install pour obtenir le nom d'utilisateur et le mot de passe par défaut de votre blog.

$ echo Username: user
Username: user
$ echo Password: $(kubectl get secret --namespace default my-wordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)
Password: GSPSIXwGok
Tableau de bord d'administration WordPress

Vous disposez maintenant d'un WordPress fonctionnel sur votre OVHcloud Managed Kubernetes Service, stockant ses données sur votre OVHcloud Managed MySQL, félicitations !

Nettoyage

Pour nettoyer votre cluster, utilisez simplement Helm pour supprimer votre blog WordPress.

helm uninstall my-wordpress

Cela supprimera WordPress et ses ressources associées de votre cluster :

$ helm delete my-wordpress
release "my-wordpress" uninstalled

Nous voulons vos retours !

Nous serions ravis de répondre à vos questions et apprécions tout retour que vous pourriez nous faire.

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Vous êtes sur Discord ? Rejoignez notre chaîne via https://discord.gg/ovhcloud et interagissez directement avec l’équipe qui développe notre service de bases de données !

Cette page vous a-t-elle aidé ?