SpaceWeb Toulouse

Création de sites web pour les professionnels du bien-être et de la santé

Déployer WordPress sur Kubernetes

décembre 7, 2019
wordpress sur Kubernetes

Kubernetes est la solution d’orchestration de conteneurs la plus populaire actuellement. Cette solution permet le déploiement, la mise à l’échelle et la gestion d’applications conteneurisées. Nous allons utiliser cette technologie car elle permet le déploiement rapide de plusieurs sites WordPress.

Dans ce tutoriel, nous allons voir comment déployer rapidement WordPress dans un cluster Kubernetes managé par OVH en utilisant Helm. Ce dernier étant un gestionnaire de paquets permettant de partager un ensemble de fichiers de configuration pour Kubernetes (nous évitant ainsi la tâche complexe de configuration).

Création du cluster Kubernetes sur OVH

Pour commencer, nous nous rendons dans l’interface « Public cloud » d’OVH et nous sélectionnons « Managed Kubernetes service ». Nous procédons ensuite à la création du cluster en sélectionnant une région, la version souhaitée puis en choisissant un nom.

Création d’un cluster Kubernetes sur OVH

Au bout de quelques minutes, notre cluster sera créé et nous pourrons ajouter un premier noeud (Une machine virtuelle) à celui-ci.

Ajout d’un noeud à notre cluster Kubernetes

Pour pouvoir utiliser Kubernetes, notre cluster doit être constitué d’au moins une machine. Dans l’onglet « Noeuds », nous cliquons sur « Ajouter un noeud » :

Ajout d’un noeud à un cluster Kubernetes sur OVH

Quelques minutes après la demande de création, nous disposerons donc d’un cluster Kubernetes contenant une seule machine.

Connexion au cluster Kubernetes

Pour administrer et déployer des applications dans notre cluster, nous allons utiliser les outils en ligne de commande kubectl et helm. Pour installer ces deux outils, nous nous référons à la documentation officielle :

Une fois ces deux outils installés, il nous faut récupérer le fichier de configuration de notre cluster ainsi que le nom de domaine qui lui est associé :

Configuration du cluster

Pour indiquer à kubectl comment atteindre notre cluster, il faut lui indiquer la chemin de notre fichier kube-config en utilisant une variable d’environnement. Sur Linux ou MacOS :

$ export KUBECONFIG=~/path/to/kube-config

Nous pouvons maintenant vérifier que kubectl accède bien à notre cluster :

$ kubectl cluster-info
Kubernetes master is running at https://34z2cx.c1.gra7.k8s.ovh.net
KubeDNS is running at https://34z2cx.c1.gra7.k8s.ovh.net/api/v1/namesp...
Metrics-server is running at https://34z2cx.c1.gra7.k8s.ovh.net/api/v1/names...

Déploiment de WordPress sur Kubernetes

Si toutes les étapes précédentes ont été correctement réalisées et que vous pouvez accéder à votre cluster Kubernetes, une seule commande est nécessaire pour déployer un site WordPress :

$ helm install first-wp stable/wordpress

Helm vous répondra ensuite avec les commandes à exécuter pour récupérer le nom de domaine associé à votre site WordPress et pour accéder au mot de passe administrateur par défaut :

$ kubectl get svc --namespace default first-wp-wordpress --template "{{ range (index .status.
loadBalancer.ingress 0) }}{{.}}{{ end }}"

6ddruqksig.lb.c1.gra7.k8s.ovh.net
$ kubectl get secret --namespace default first-wp-wordpress -o jsonpath="{.data.
wordpress-password}" | base64 --decode

ASecretRandomPassword

Nous pouvons donc nous rendre sur l’adresse générée 6ddruqksig.lb.c1.gra7.k8s.ovh.net pour interagir avec notre nouveau site WordPress :

Notre nouveau site WordPress sur Kubernetes

Pour plus d’informations sur la mise en place d’un site WordPress, n’hésitez pas à nous contacter !