Impossible d'exposer mon application sur Internet

Gautier MALONGA 0 Points de réputation
2024-09-12T16:07:11.7033333+00:00

Bonjour,

J'ai déployé un cluster AKS via Pulumi. Il est bien en running mais j'ai un problème lorsque je souhaite exposer un pod sur Internet.

J'installe un Ingress Controller NGINX avec un cert-manager pour les certificats TLS. J'ai également installer un cluster issuer.

J'ai également configuré l'enregistrement DNS qui pointe bien vers l'IP externe du load balancer.

Mon certificat est toujours en "false". J'ai l'impression que mon cluster n'arrive pas à contacter Internet alors que les règles se sécurité de trafic sortant permettent de contacter Internet.

Les tests de ping ne marchent pas non alors que le test avec nslookup marche bien et arrive à ressortir l'IP de mon load balancer.

Est-ce que quelqu'un a déjà eu le même soucis ?

Je peux fournir le code côté Pulumi si besoin.

Merci

Azure
Azure
Plateforme et infrastructure de cloud computing pour la génération, le déploiement et la gestion d’applications et de services à travers un réseau mondial de centres de données gérés par Microsoft.
265 questions
0 commentaires Aucun commentaire
{count} votes

3 réponses

Trier par : Le plus utile
  1. Alexis Thorez (CONCENTRIX CORPORATION) 10,420 Points de réputation Fournisseur Microsoft
    2024-09-12T20:11:32.6533333+00:00

    Bonsoir,

    Merci d'avoir sollicité la communauté Q&A France.

    Voici quelques pistes pour résoudre ce problème :

    • Assurez vous que les règles de sécurité de votre groupe de sécurité réseau (NSG) permettent le trafic sortant vers les ports nécessaires pour la validation des certificats (généralement les ports 80 et 443).
    • Si vous utilisez des egress rules dans votre cluster AKS, assurez vous qu’elles permettent le trafic sortant vers les serveurs de validation de Let’s Encrypt ou de l’autorité de certification que vous utilisez.
    • Les logs de cert-manager peuvent fournir des informations précieuses sur pourquoi la validation du certificat échoue. Vous pouvez les consulter avec la commande suivante :
    kubectl logs -n cert-manager deploy/cert-manager
    
    • Si votre cluster AKS est dans un environnement restreint, vous pourriez avoir besoin de configurer un proxy pour permettre au cert-manager de contacter les serveurs de validation externes.
    • Utilisez un pod de test pour vérifier la connectivité Internet depuis votre cluster. Vous pouvez déployer un pod de test avec une image comme busybox et essayer de pinguer ou de curl une adresse externe :
    kubectl run -i --tty --rm debug --image=busybox --restart=Never -- sh
    
    
    • Ensuite, dans le pod :
    ping google.com
    
    curl -I https://google.com
    
    
    • Assurez vous que les résolveurs DNS de votre cluster sont correctement configurés et qu’ils peuvent résoudre les noms de domaine externes

    En complément voici quelques articles qui pourront vous être utiles:

    A bientôt

    Alexis

    Si cette réponse a répondu à votre question, veuillez « Accepter comme réponse » et voter en utilisant « Pouce levé » afin que la pertinence de ce message s’améliore lorsque quelqu’un dans la communauté recherche une requête similaire

    image (2)

    0 commentaires Aucun commentaire

  2. Gautier MALONGA 0 Points de réputation
    2024-09-13T09:41:50.3133333+00:00

    Bonjour Alexis,

    Merci pour votre réponse.

    J'ai donc vérifié les règles NSG, et tous les ports sont autorisés à contacter Internet par défaut.

    Ensuite, j'ai regardé les logs du cert-manager, et je retrouve la log :

    "acme: authorization error for example.example.cloud: 400 urn:ietf:params:acme:error:connection: 98.66.xxx.xxx: Fetching http://example.example.cloud/.well-known/acme-challenge/[...]: Timeout during connect (likely firewall problem)"
    

    example.example.cloud faisait référence au sous-domaine, et 98.66.xxx.xxx à la cible de mon entrée DNS

    De plus, le pod de test ne renvoie rien lorsque je tente un ping.

    Mon cluster a l'air d'être isolé, mais je ne comprends car aucun paramètre n'a été mis en place pour cela.

    Quel paramètre sur Azure je peux vérifier pour régler ce problème ?

    Merci d'avance

    0 commentaires Aucun commentaire

  3. Alexis Thorez (CONCENTRIX CORPORATION) 10,420 Points de réputation Fournisseur Microsoft
    2024-09-13T10:09:35.2633333+00:00

    Merci pour ces précisions Gauthier.

    Voici d'autres points à vérifier:

    • Vérifiez si des stratégies réseau sont appliquées dans votre cluster AKS. Ces stratégies peuvent restreindre le trafic entre les pods ou entre les pods et l’extérieur.
    • Assurez-vous que les groupes de sécurité des applications ne limitent pas le trafic nécessaire pour le fonctionnement de vos pods.
    • Si vous utilisez un pare-feu Azure, vérifiez les règles configurées pour vous assurer qu’elles ne bloquent pas le trafic nécessaire.
    • Vérifiez la configuration du cert-manager pour vous assurer qu’il peut accéder aux ressources nécessaires pour valider les certificats.

    Enfin je vous invite à consulter l'article suivant qui pourrait vous être utile:

    A bientôt

    Alexis

    Si cette réponse a répondu à votre question, veuillez « Accepter comme réponse » et voter en utilisant « Pouce levé » afin que la pertinence de ce message s’améliore lorsque quelqu’un dans la communauté recherche une requête similaire

    image (2)


Votre réponse

Les réponses peuvent être marquées comme Réponses acceptées par l’auteur de la question, ce qui permet aux utilisateurs de connaître la réponse qui a résolu le problème de l’auteur.