keepalived (keepalived)
Tient l'IP virtuelle d'une paire HAProxy avec VRRP : l'adresse passe sur l'hôte de secours quand HAProxy ou son hôte tombe.
Généré depuis catalog/services/keepalived.yaml : ne pas modifier à la main.
Résumé
| Version | 2.4.3 |
| Usage | installer et configurer |
| Couche | infrastructure (présentée à part) |
| Catégorie | Réseau |
| Méthodes d'installation | package |
| Connexion externe | non |
| Réservé au bac à sable | non |
Licence
| Identifiant SPDX | GPL-2.0-or-later |
| Politique de licence | exception de licence |
| Exception de licence | LEX-005 (en attente de la décision du client) |
| Composant de la plateforme | keepalived |
Paquets et artefacts
Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.
| Type | Paquet | Version | Licence | Détails |
|---|---|---|---|---|
| paquet système | keepalived | version du dépôt configuré | GPL-2.0-or-later | famille RHEL (dnf) |
| paquet système | curl | version du dépôt configuré | GPL-2.0-or-later | famille RHEL (dnf) |
| paquet système | keepalived | version du dépôt configuré | GPL-2.0-or-later | famille Debian (apt) |
| paquet système | curl | version du dépôt configuré | GPL-2.0-or-later | famille Debian (apt) |
Systèmes et architectures pris en charge
| Méthode | Systèmes d'exploitation | Architectures |
|---|---|---|
package | famille RHEL (dnf), famille Debian (apt) | x86_64, aarch64 (non restreintes par le descripteur) |
Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.
Prérequis
Hôte
- un système d'exploitation des familles rhel, debian, arch (bloquant,
os).
Programmes que les commandes et les contrôles du service lancent sur l'hôte, hors des racines gérées : les ajouter à allowed_commands de l'agent (voir Sécurité de l'agent Navin), sinon l'agent les refuse avec command_not_allowed : /usr/bin/pgrep, /usr/sbin/ip.
Réseau et ports
Aucun.
Paramètres du noyau
| Paramètre | Valeur |
|---|---|
net.ipv4.ip_nonlocal_bind | 1 |
Services et connexions nécessaires
haproxy:haproxy(facultative).
Détail et résolution : voir Dépendances.
Méthodes et modes d'installation
| Méthode | Défaut | Ce que la méthode utilise |
|---|---|---|
package | oui | les paquets système du descripteur, installés par le gestionnaire de paquets de l'hôte |
Composants
| Composant | Type | Méthodes d'installation | Ports |
|---|---|---|---|
keepalived (keepalived) | maître | package | - |
Paire (pair) (par défaut)
Deux hôtes, le premier est le maître.
Ce que le mode déploie :
| Composant | Placement |
|---|---|
keepalived | min 2, max 2 |
Installer ce service
L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.
-
Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.
-
Choisissez le service. À l'étape Service, sélectionnez keepalived. La carte affiche la licence
GPL-2.0-or-lateret les dépendances dont l'installation a besoin. -
Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode :
pair(par défaut). Chaque mode déploie les composants listés dans Méthodes et modes d'installation. -
Liez les dépendances. À l'étape Liaisons, choisissez pour chaque dépendance (
haproxy) Installer avec la plateforme ou Utiliser une connexion existante ; une dépendance facultative peut rester sur Aucune liaison. -
Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration) ; les paramètres obligatoires sont
virtual_ip. Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager. -
Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.
-
Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.
Haute disponibilité
| Cluster | natif (native) |
| Haute disponibilité | natif (native) |
| Bascule | IP virtuelle (vip) |
| Réplication | aucun (none) |
| Quorum | VRRP (vrrp) |
| Découverte | statique (static) |
| Point d'entrée | IP virtuelle (vip) |
| Documentation officielle | https://keepalived.readthedocs.io/en/latest/ |
| Commande d'état du cluster | show_vip |
Topologie par mode
| Modes | Niveau le plus haut du catalogue | Répartition | Composant du quorum | Domaines de panne | Description |
|---|---|---|---|---|---|
pair | ha (ha) | actif-passif (active-passive) | - | 2 | Deux hôtes en VRRP : le maître porte l'IP virtuelle, le secours la reprend quand le maître ne répond plus. |
Remarques
- Les deux hôtes doivent être sur le même réseau de niveau 2 (ou autoriser le VRRP unicast) et l'IP virtuelle doit être réservée.
Paramètres de configuration
VRRP
| Paramètre | Type | Défaut | Valeurs permises | Obligatoire | Secret | Redémarrage | Description |
|---|---|---|---|---|---|---|---|
IP virtuelle (virtual_ip) | string | - | ^\d{1,3}(\.\d{1,3}){3}/\d{1,2}$ | oui | non | non | Adresse virtuelle avec son préfixe, par exemple 10.0.0.100/24. |
Interface (interface) | string | eth0 | - | non | non | non | Interface réseau qui porte l'IP virtuelle. (portée host) |
Identifiant du routeur virtuel (virtual_router_id) | int | 51 | min 1, max 255 | non | non | non | Identifiant VRRP, unique sur le segment réseau. |
Mot de passe VRRP (auth_pass) | password | généré | - | non | oui | non | Mot de passe partagé de la paire (VRRP utilise les 8 premiers caractères). |
Port de santé HAProxy (haproxy_stats_port) | port | 8404 | - | non | non | non | Port du point /health de HAProxy suivi par le script VRRP, utilisé seulement sans le lien haproxy (le port lié l'emporte). |
Santé HAProxy en TLS (haproxy_tls) | bool | false | - | non | non | oui | À activer quand le HAProxy suivi sert son port de statistiques en TLS (tls_enabled de haproxy) : le script VRRP sonde alors https sur le nom d'hôte et vérifie le certificat avec l'autorité du Manager. Utilisé seulement sans le lien haproxy (le schéma lié l'emporte). |
Dépendances
Pour chaque dépendance active, le Manager prend la première solution parmi : la liaison choisie dans l'assistant ; un service de la même installation qui la fournit ; un service déjà installé dans le cluster ; la seule connexion du type attendu. Sinon, une dépendance facultative reste non liée, et une dépendance obligatoire est ajoutée à l'installation dans son mode par défaut (la colonne ci-dessous nomme le service du catalogue ajouté).
| Liaison | Fournie par | Type de connexion | Point d'accès | Facultative | Quand rien n'est lié | Description |
|---|---|---|---|---|---|---|
haproxy | haproxy | - | stats | oui | reste non liée (facultative) | HAProxy suivi par le script VRRP : le port et le schéma (http ou https) de son point stats en viennent ; haproxy_stats_port et haproxy_tls ne servent que sans ce lien. |
Commandes
| Commande | Composant | Cible | Description |
|---|---|---|---|
Afficher les adresses (show_vip) | keepalived | tous les hôtes | Montre quel hôte tient l'IP virtuelle. |
Contrôles de santé
Vivacité (par instance)
| Composant | Contrôle | Détails |
|---|---|---|
keepalived | /usr/bin/pgrep -f keepalived.*{{ paths.etc }}/keepalived.conf | 10 tentatives ; intervalle 2 s ; délai 3 s |
Contrôles préalables
| Contrôle | Type | Signification | Sévérité | Composants |
|---|---|---|---|---|
os | os {} | un système d'exploitation des familles rhel, debian, arch | bloquant | tous les composants |
Désinstallation
Chemins supprimés quand les données sont purgées : {{ paths.log }}.
Documentation amont
- Site : https://www.keepalived.org
- Sources : https://github.com/acassen/keepalived
- Haute disponibilité : https://keepalived.readthedocs.io/en/latest/