2026 OpenClaw Gateway : contrôles de santé & mises à jour rolling
Docker Compose / probes Kubernetes & runbook sans interruption

Environ 20 min de lecture · MACCOME

Les équipes qui exécutent OpenClaw Gateway sur Docker ou Kubernetes en 2026 livrent vite tout en traitant encore “conteneur en cours” comme sain. Sans chemins de probe HTTP, sémantique de readiness et paramètres rolling sur le même ticket de changement, vous obtenez des kills de liveness au cold start, un depends_on qui attend les conteneurs mais pas la readiness, ou un 429 fournisseur pris pour un Gateway mort et des redémarrages sans fin. Cet article se cale sur le runbook Docker production, la checklist upgrade et migration et le routage et failover fournisseurs, et livre six pièges prêts pour RCA, une matrice liveness/readiness/startup, un mapping Compose contre Kubernetes, des extraits YAML copiables, un runbook de déploiement en six étapes et trois métriques tableau de bord—plus comment placer le Gateway sur un plan d’exécution Mac distant stable.

Du “port ouvert” à la bonne sémantique : six pièges de probes

Les versions récentes d’OpenClaw ajoutent des points de terminaison HTTP adaptés à l’orchestration (chemins et ports exacts suivent votre tag d’image épinglé et les notes de version; des noms comme /health, /ready, /healthz apparaissent dans l’écosystème). Enregistrez ces six schémas dans les RCA et réutilisez le vocabulaire de doctor et triage post-installation.

  1. Liveness touche “processus debout, métier pas prêt” : le cold start charge tables de routage ou état local—un 200 trop tôt admet du trafic ; un échec trop tôt déclenche des kills kubelet.
  2. Readiness couplée aux modèles externes : le throttling peut retirer de la charge à l’échelle du cluster ; confirmez que cela correspond au SLO plutôt qu’à une panne globale.
  3. Compose depends_on sans conditions de santé : les dépendants démarrent pendant que le Gateway n’atteint pas encore la socket backend—502 intermittents.
  4. Probes localhost différentes des chemins Service : 127.0.0.1 fonctionne dans le pod mais le ClusterIP échoue—lu comme panne applicative.
  5. maxUnavailable agressif : les anciens pods se vident avant que les nouveaux passent la readiness—courtes fenêtres rouge plein.
  6. Triage des journaux mélangé : terminaison TLS, timeouts proxy et erreurs Gateway fusionnées—on resserre les probes à l’aveugle.

Par rapport au guide d’installation multi-plateforme : l’installation répond au premier boot ; la production répond à l’exploitation longue durée ; cet article répond à comment les orchestrateurs décident “sain” ; les upgrades répondent au déplacement d’image et au rollback.

Tableau 1 : probes liveness, readiness et startup—répartir les responsabilités

Les types de probes Kubernetes ne se mappent pas 1:1 sur les redémarrages healthcheck Docker ; utilisez le tableau en revue d’architecture.

ContrôleEffet typique en cas d’échecValideOrientations OpenClaw
startupProbesupprime les échecs liveness jusqu’au succèscold start lent mais bornéà utiliser quand premier fetch de config, index ou dépendances prennent des minutes
livenessProberedémarre conteneur/Poddeadlocks, processus non réactiféviter les dépendances LLM externes ; auto-contrôle minimal seulement
readinessProberetire des endpoints Servicepas prêt pour le traficpeut inclure un ping modèle minimal ou signal config chargée—aligner sur la politique de failover
Docker healthcheckmarque unhealthy ; politique de restart variableCompose sur un hôtecoupler avec depends_on: condition: service_healthy (syntaxe selon docs Compose v2)

Tableau 2 : exprimer la même exigence de santé en Compose et en Kubernetes

Traduire “sain” en champs concrets coupe les débats de minuit.

DimensionDocker Compose (modèle)Kubernetes Deployment
Commande de probehealthcheck.test avec curl/wgethttpGet ou exec
Grâce au démarragestart_periodstartupProbe ou initialDelaySeconds plus grandes
Retrait de chargecouche proxy/LB ou label santé seulementreadinessProbe pilote les Endpoints
Rollingordre compose manuel ou CD externemaxSurge / maxUnavailable / minReadySeconds
yaml
# Exemples—remplacer PORT et chemins par les valeurs de la doc pour votre tag
# Docker Compose (extrait)
healthcheck:
  test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:${GATEWAY_PORT}/health || exit 1"]
  interval: 15s
  timeout: 3s
  retries: 5
  start_period: 120s

# Kubernetes (extrait)
readinessProbe:
  httpGet:
    path: /ready
    port: http
  initialDelaySeconds: 10
  periodSeconds: 10
livenessProbe:
  httpGet:
    path: /health
    port: http
  initialDelaySeconds: 30
  periodSeconds: 20
warning

Avertissement : l’amont peut ajouter ou renommer /health, /ready, /healthz sur des releases type 2026.3.x. Avant de copier les extraits, confirmez la documentation officielle pour votre digest/tag et vérifiez avec curl -v en staging.

Runbook de déploiement en six étapes : du curl 200 à une mise à jour rolling compatible rollback

  1. Épingler l’ancre de version : noter digest d’image ou tag mineur plus chemins et ports de santé documentés.
  2. Valider dans le conteneur : sonder 127.0.0.1 via docker compose exec ou kubectl exec, puis via le Service.
  3. Readiness avant liveness : stabiliser readiness et startup, puis resserrer la liveness pour éviter les kills au démarrage.
  4. Régler le rolling : garder au moins une réplique servante ; documenter maxUnavailable versus fenêtre de maintenance.
  5. Aligner le failover fournisseur : documenter le comportement attendu sur panne de modèle externe—retirer de la charge, dégrader le modèle ou alerter seulement—selon l’article fournisseur.
  6. Pratiquer le rollback : suivre la checklist upgrade pour retagger les images et restaurer les volumes ; confirmer que les probes correspondent encore à l’ancienne build.

Trois métriques solides pour tableaux de bord et astreinte

  1. Triplet probe : code HTTP, percentile de latence, échecs consécutifs—afficher à côté du taux 502 Ingress.
  2. Répliques prêtes / désirées pendant les déploiements : alerter sur la durée où la readiness reste sous 100 % ; les petites releases fréquentes compressent cette fenêtre.
  3. Part d’erreurs de dépendance externe : 429/5xx fournisseurs versus erreurs internes Gateway—champs partagés avec l’article routage fournisseur.

Sur le chemin Linux systemd + Tunnel, aligner santé du tunnel, écouteurs loopback et contrôles amont du LB—sinon des faux positifs “tunnel vivant, Gateway n’écoute pas”.

Corréler kubectl rollout status ou journaux d’upgrade Compose avec les changements Git pour séparer probes serrées et régressions d’image.

Pourquoi NAS grand public ou portables de secours peinent avec une sémantique de probes de production

Le matériel grand public subit veille, jitter disque et mises à jour OS non planifiées—temps de démarrage et seuils de probes dérivent. Avec des fenêtres rolling, cela consume l’astreinte. Faire tourner OpenClaw et des agents sous une SLA attendue demande du calcul dédié, un egress stable et des nœuds tolérants aux pics.

L’auto-hébergement fragmenté complique aussi la latence multi-régions et l’exploitation contractuelle : ajuster les probes couplé aux reboots d’hôte est pénible sur portables. Pour des Gateways 24/7 observables, rollables et compatibles rollback, des Mac cloud Apple Silicon multi-régions professionnels battent en général le matériel ad hoc. MACCOME propose des Mac Mini M4 / M4 Pro bare metal à conditions flexibles comme Gateway ou hôte d’automatisation mixte—commencez par le centre d’aide pour le langage d’accès, puis les tarifs de location et le guide multi-régions pour finaliser les SKU.

Pilote : location courte dans la région cible, exécuter probes conteneur, probes Service et un exercice rolling complet avant d’engager des durées mensuelles ou trimestrielles.

FAQ

Les probes échouent mais l’interface de contrôle s’affiche—quelle source fait foi ?

Les URL et codes de statut configurés par l’orchestrateur. Pour le contexte facturation, ouvrir les tarifs de location ; pour les probes reproduire avec curl dans le conteneur en staging.

Comment utiliser ceci avec l’article Docker production ?

La production couvre volumes et jetons ; cet article couvre probes et rollouts. Attacher les deux plus les upgrades au même changement.

Le 429 doit-il toucher la liveness ?

En général non—utiliser routage et failover fournisseurs pour backoff et routage ; le couplage readiness est un choix SLO explicite.