healthchecks

All posts in this category.

php nginx simple healthcheck pour k8s containers

Cette configuration YAML crée une ConfigMap Kubernetes nommée php-fpm-healthcheck contenant un script Bash nommé php-fpm-healthcheck.sh.

Le script vérifie si les ports 9000 et 8080 sont tous les deux ouverts sur l’adresse IP 127.0.0.1 en utilisant la commande nc (netcat). Si l’un des ports n’est pas ouvert, le script renvoie un code d’erreur 1, sinon il renvoie un code de réussite 0. Cette ConfigMap peut être utilisée pour déployer le script dans un conteneur Kubernetes et exécuter le script en tant que point de contrôle de santé (liveness ou readiness) pour vérifier l’état de l’application.

livenessProbe:
  exec:
    command:
    - /scripts/php-fpm-healthcheck
  failureThreshold: 3
  periodSeconds: 5
  successThreshold: 1
  timeoutSeconds: 3

readinessProbe:
  exec:
    command:
    - /scripts/php-fpm-healthcheck
  failureThreshold: 3
  initialDelaySeconds: 3
  periodSeconds: 5
  successThreshold: 1
  timeoutSeconds: 3
apiVersion: v1
kind: ConfigMap
metadata:
  name: php-fpm-healthcheck
data:
  php-fpm-healthcheck.sh: |
    #!/bin/bash

    if ! nc -zv 127.0.0.1 9000 >/dev/null 2>&1; then
        exit 1
    elif ! nc -zv 127.0.0.1 8080 >/dev/null 2>&1; then
        exit 1
    else
        exit 0
    fi