Aujourd’hui, je vais vous présenter comment installer wordpress grâce à helm. Après avoir installé mon propre cluster kubernetes j’ai décidé de me créer un petit blog technique assez simple pour y partager mes expériences.
Mise en place
Pour installer wordpress, j’ai commencé par me créer un nouveau repository sur Github. Ensuite, je me suis assuré d’avoir helm d’installé sur ma machine, et cette simple commande permet de l’installer en quelques secondes (sur macOs) :
$ brew install helm
Ensuite, j’ai utilisé les charts wordpress développés pat Bitnami en ajoutant leur repository dans ma configuration :
$ helm repo add bitnami https://charts.bitnami.com/bitnami
Configuration
C’est tout ce dont j’ai eu besoin. Ensuite, je me suis créé un fichier pour toutes les values relatives au template qui ressemble à ça :
ingress:
enabled: true
hostname: HOST
tls: true
annotations:
kubernetes.io/tls-acme: "true"
cert-manager.io/cluster-issuer: lets-encrypt
En gros, j’active un ingress pour que le traffic http arrive sur l’hôte renseigné, et j’y attache un cluster-issuer let’s encrypt pour pouvoir générer un certificat SSL.
Beaucoup de configuration est disponible sur le Github de Bitnami pour personnaliser la configuration du wordpress, comme le mot de passe de la base, son url si c’est une base externe… et bien d’autres.
Déploiement
Finalement, il ne reste plus qu’a déployer le release helm pour installer wordpress sur mon cluster. Pour ça, j’ai créé un workflow Github qui le fait pour moi en CI :
[...]
- uses: azure/setup-helm@v4.1.0
- name: Deploy
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami
helm upgrade RELEASE_NAME bitnami/wordpress --install --wait --atomic --namespace=MON_NAMESPACE --values=./path/vers/values.yaml --create-namespace --debug
L’action azure/setup-helm permet assez facilement d’installer helm sur le runner Github. Il faut bien sur installer également le repo Bitnami pour récupérer le template d’installation de la release WordPress.
Pour terminer un petit upgrade de la release permet de mettre à jour les charts, et le tour est joué 🎉
Conclusion
En quelques minutes, j’ai pu installer wordpress sur mon cluster kubernetes avec assez peu de configuration, et automatisé le déploiement de celui-ci via une CI 🙂