Files
argocd/docs/TROUBLESHOOTING-EXTERNAL-DEVICES.md
2026-01-22 23:58:51 +01:00

3.3 KiB

Dépannage - External Devices

Problème : "no available server" ou Endpoints manquants

Symptômes

  • Erreur "no available server" dans le navigateur
  • kubectl get endpoints <service>-backend retourne "NotFound"
  • kubectl describe service <service>-backend montre Endpoints: <none>

Cause

Les Endpoints n'ont pas été créés. Cela peut arriver si :

  1. ArgoCD n'a pas encore synchronisé les changements du template
  2. Le template n'inclut pas les Endpoints
  3. Les Endpoints ont été supprimés

Solution

1. Vérifier le statut ArgoCD

# Vérifier le statut de l'application
argocd app get external-devices-dev

# Vérifier si une synchronisation est nécessaire
argocd app diff external-devices-dev

2. Forcer une synchronisation

# Synchroniser l'application
argocd app sync external-devices-dev

# Ou via kubectl si ArgoCD est dans le cluster
kubectl patch application external-devices-dev -n argocd-ops \
  -p '{"operation":{"initiatedBy":{"username":"admin"},"sync":{"revision":"HEAD"}}}' \
  --type merge

3. Vérifier que les Endpoints sont créés

# Vérifier les Endpoints
kubectl get endpoints omv-backend -n traefik-dev

# Vérifier le détail
kubectl get endpoints omv-backend -n traefik-dev -o yaml

Les Endpoints devraient contenir :

subsets:
  - addresses:
      - ip: 10.78.20.107  # L'IP de votre équipement
    ports:
      - port: 80
        protocol: TCP

4. Vérifier la connectivité

Une fois les Endpoints créés, tester la connexion :

# Depuis un pod Traefik
POD=$(kubectl get pods -n traefik-dev -l app.kubernetes.io/name=traefik -o jsonpath='{.items[0].metadata.name}')
kubectl exec -n traefik-dev -it $POD -- curl -v http://10.78.20.107:80

Vérification complète

# 1. Service existe
kubectl get service omv-backend -n traefik-dev

# 2. Endpoints existent
kubectl get endpoints omv-backend -n traefik-dev

# 3. IngressRoute existe
kubectl get ingressroute omv -n traefik-dev

# 4. Secret TLS existe
kubectl get secret wildcard-dev-tls -n traefik-dev

# 5. Test de connectivité
kubectl exec -n traefik-dev -it $(kubectl get pods -n traefik-dev -l app.kubernetes.io/name=traefik -o jsonpath='{.items[0].metadata.name}') -- curl -v http://10.78.20.107:80

Problème : IP non accessible

Symptômes

  • Endpoints créés mais erreur "connection refused" ou timeout
  • curl depuis un pod Traefik échoue

Solution

  1. Vérifier l'IP : L'IP est-elle correcte dans values.yaml ?
  2. Vérifier le réseau : L'IP est-elle accessible depuis les pods Traefik ?
  3. Vérifier le firewall : Le port est-il ouvert sur l'équipement externe ?
  4. Vérifier le port : Le port dans values.yaml correspond-il au port de l'équipement ?
# Test depuis un pod Traefik
POD=$(kubectl get pods -n traefik-dev -l app.kubernetes.io/name=traefik -o jsonpath='{.items[0].metadata.name}')
kubectl exec -n traefik-dev -it $POD -- curl -v --connect-timeout 5 http://10.78.20.107:80

Problème : Certificat TLS manquant

Symptômes

  • Erreur "certificate not found" dans les logs Traefik
  • IngressRoute en erreur

Solution

# Vérifier que le secret existe
kubectl get secret wildcard-dev-tls -n traefik-dev

# Si le secret n'existe pas, vérifier qu'il est synchronisé depuis OPS
# Voir docs/tls-sync-wildcard.md