TL;DR
Cette série construit progressivement une infrastructure cloud complète sur Infomaniak Public Cloud. Dans cet épisode, le sujet précis est: Keycloak: Installing a cluster with Ansible. Cibler Keycloak pour "Keycloak: Installing a cluster with Ansible": identité, realm, client, rôles, mappings ou intégration SSO.
La vidéo de référence
Vidéo: https://www.youtube.com/watch?v=bA4iayJeJ2g
Playlist complète: https://www.youtube.com/playlist?list=PLn6POgpklwWpehxly1wOT6eB2NvZX9A-X
Le dépôt support est disponible ici: https://gitlab.com/xavki/infrastructure-cloud-infomaniak. Le chapitre correspondant est 74-installation-keycloak-cluster.
Objectif précis de l épisode
Cibler Keycloak pour "Keycloak: Installing a cluster with Ansible": identité, realm, client, rôles, mappings ou intégration SSO.
Concrètement, cet épisode sert à passer d une intention formulée dans le titre à une modification vérifiable dans l infrastructure. Le dépôt donne les fichiers, la vidéo donne l ordre de manipulation, et la vérification doit confirmer que la brique fonctionne vraiment.
Keycloak: Installing a cluster with Ansible: c est quoi exactement ?
Dans une infrastructure cloud réelle, chaque épisode ajoute une brique: réseau, compute, sécurité, automatisation, découverte de services, observabilité, sauvegardes ou orchestration. Ici, les outils détectés sont: terraform, openstack, ansible, consul, traefik, postgresql, keycloak, helm.
Dans cet épisode, il faut surtout regarder les éléments qui correspondent au titre: les ressources créées ou modifiées, les fichiers du chapitre, les services touchés et la preuve de fonctionnement. Les outils détectés donnent le contexte, mais le fil rouge reste Keycloak: Installing a cluster with Ansible.
Ce que la vidéo cherche à modifier
- organiser inventaire, variables et playbooks du chapitre
- appliquer la configuration de manière reproductible
- vérifier les rôles réellement exécutés sur les hôtes ciblés
- décrire les objets Keycloak créés
- relier realm, client et rôles
- automatiser la configuration sans perdre la lisibilité sécurité
Indices extraits des slides
- Keycloak: Create a cluster avec Ansible
- Create a new role for our keycloak cluster
- Change ou postgresql cluster to add database and user
- postgresql_replication_pghba_entries:
- postgresql_manage:
Notions et définitions des outils
- terraform: Terraform décrit l infrastructure comme du code. Le provider OpenStack transforme des ressources HCL en objets cloud: réseaux, routeurs, instances, volumes, groupes de sécurité.
- openstack: OpenStack est la couche cloud IaaS: instances, réseaux, routeurs, IP flottantes, groupes de sécurité, volumes et images. Chez Infomaniak Public Cloud, il sert de socle programmable via GUI, CLI, Terraform et API.
- ansible: Ansible automatise la configuration des machines après leur création. Les playbooks, rôles, inventaires et variables transforment une VM brute en service exploitable.
- consul: Consul apporte service discovery, DNS interne, health checks et catalogue de services. Il relie machines, proxy, monitoring et automatisation.
- traefik: Traefik est un reverse proxy dynamique. Il route HTTP/HTTPS vers des backends et peut se configurer via Consul ou annotations Kubernetes.
- postgresql: PostgreSQL est le SGBD relationnel de la plateforme. La série aborde installation, réplication, failover, utilisateurs, sauvegardes, PITR et monitoring.
- keycloak: Keycloak fournit SSO, realms, clients, rôles, mappings et protocoles OAuth2/OpenID Connect pour centraliser l authentification.
- helm: Helm est le gestionnaire de packages de Kubernetes. Un chart regroupe templates, valeurs et dépendances; une release est une instance déployée de ce chart dans un cluster.
Ces définitions sont volontairement pratiques: elles expliquent à quoi sert l outil dans la chaîne, pas seulement ce qu il est sur le papier.
Points clés à retenir pour cet épisode
- Comprendre le rôle de Keycloak: Installing a cluster with Ansible dans la progression globale de l infrastructure.
- Identifier la couche concernée: cloud, automatisation, réseau, service, observabilité ou orchestration.
- Relier les fichiers du dépôt au résultat attendu sur les machines ou dans le cloud.
- Séparer clairement la création des ressources cloud du paramétrage applicatif.
- Vérifier les inventaires, variables et rôles avant de lancer un playbook.
Approfondissement spécifique
Dans Keycloak: Installing a cluster with Ansible, Ansible doit être lu comme la couche de convergence système. Le sujet n est pas uniquement le playbook lancé, mais la combinaison inventaire, variables, rôles et tâches qui transforme une machine provisionnée en service configuré.
Le diagnostic part de la cible: quel groupe d hôtes est visé, quelles variables sont chargées, quel rôle applique le changement et quel fichier ou service prouve le résultat sur la machine.
Dans Keycloak: Installing a cluster with Ansible, Keycloak doit être analysé objet par objet: realm, client, rôles, utilisateurs, mappings et redirects. Chaque élément a un impact direct sur l authentification et les droits transmis aux applications.
Le test utile consiste à suivre un login complet et à vérifier les claims obtenus. Si le SSO fonctionne mais que les rôles sont faux, l intégration reste incorrecte.
Exemple de code ou configuration du dépôt
Les exemples complets sont dans les répertoires du chapitre listés plus bas.
Chemin de diagnostic recommandé
- valider l inventaire Ansible
- relancer le playbook sans changement inattendu
- contrôler les services et fichiers modifiés sur la machine
- tester l authentification
- contrôler les claims ou mappings
- vérifier les redirects et URLs client
- Comparer l état attendu dans le dépôt et l état réel dans le cloud, la machine ou le cluster.
- Documenter la commande, l écran ou la métrique qui prouve que l étape est fonctionnelle.
Répertoires et commandes utiles
- Répertoire support: 74-installation-keycloak-cluster
- Répertoire support: 74-installation-keycloak-cluster/code/ansible
- Répertoire support: 74-installation-keycloak-cluster/code/terraform
Pièges fréquents
- lancer un playbook sur le mauvais groupe
- mélanger variables de lab et variables sensibles
- ne pas vérifier l idempotence
- ouvrir un client trop largement
- mal mapper les rôles
- oublier les URLs de redirection
Liens utiles externes
- Dépôt Xavki infrastructure-cloud-infomaniak
- Playlist YouTube Infra de A à Z
- docs.infomaniak.cloud
- docs.infomaniak.cloud/getting_started/first_project
- docs.infomaniak.cloud/compute/instances
- docs.infomaniak.cloud/orchestration/terraform
- developer.hashicorp.com/terraform/docs
- registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs
Liens internes conseillés
- Parcours Kubernetes pour relier la partie cluster et orchestration.
- Prometheus, Grafana et observabilité pour approfondir métriques et dashboards.
- RabbitMQ et workloads stateful pour comparer stockage, redémarrage et état applicatif.
Pour continuer, lire Infra A à Z 076 – Keycloak : création d’un realm et d’un client avec ansible.
FAQ
Pourquoi utiliser Terraform et Ansible ensemble ?
Terraform est adapté à la création et au cycle de vie des ressources cloud. Ansible est adapté à la configuration des machines et services. Les mélanger sans frontière claire rend les changements difficiles à relire.
Pourquoi Infomaniak/OpenStack dans cette série ?
Infomaniak Public Cloud expose des concepts OpenStack standards: compute, réseau, volumes, security groups, object storage, identity et orchestration. Cela permet d apprendre des notions transférables tout en travaillant sur un fournisseur concret.
Que faut-il sécuriser en premier ?
Les accès: credentials cloud, state Terraform, SSH, VPN, dashboards, secrets Ansible, tokens GitLab, consoles d administration et ports exposés publiquement. Une infrastructure automatisée amplifie aussi les erreurs de sécurité.
Comment savoir si une étape est terminée ?
Chaque étape doit produire une preuve: une ressource visible, un service joignable, une métrique collectée, un backup restaurable, une requête qui répond ou un déploiement qui converge.
Conclusion
L épisode 75 s inscrit dans une progression complète: construire, automatiser, sécuriser, observer et exploiter une infrastructure cloud. Le dépôt Xavki donne les exemples concrets, la documentation Infomaniak/OpenStack donne le cadre fournisseur, et le deep dive permet de comprendre le rôle des outils au lieu de seulement rejouer des commandes.