Je viens de créer aks Et de créer l'exemple de service.
kubectl get service azure-vote-front --watch NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-front LoadBalancer 10.0.1.71 13.71.XXX.XXX 80:31619/TCP 1h
Je veux accéder à 13.71.xxx.xxx:31619 mais il attend de ne pas revenir.
p>
3 Réponses :
Il vous suffit d'accéder à l'adresse 13.71.xxx.xxx
via le navigateur sans le port 31619.
Je reçois le message via 13.71.xxx.xxx 502 Bad Gateway nginx / 1.13.7
Votre application fonctionne-t-elle bien? utilisez la commande kubectl get service
pour obtenir tout l'état du service.
Je recrée la ressource. ça fonctionne bien. Merci!!
Mais quand j'utilise kubectl create deployment hello-node --image = gcr.io / hello-minikube-zero-install / hello-node kubectl expose le déploiement hello-node --type = LoadBalancer --port = 8080 Cela ne fonctionne pas bien
Vous pouvez suivre les étapes Création d'un service pour une application s'exécutant dans cinq pods .
Vous devez également faire attention à l'application si elle fonctionne bien. Ensuite, les étapes fonctionneront pour vous.
Si tout est correctement configuré, accéder à http://www.13.71.xxx.xxx
devrait vous amener directement à l'application.
Ce que vous pouvez faire pour vous assurer que l'application fonctionne correctement est d'étudier l'image et le module.
Pour l'image, vous pouvez l'exécuter localement à l'aide de Docker. docker run azure-vote-front image = nameOfImage "
. Si cela fonctionne, vous avez établi que l'image fonctionne hors ligne, ce qui est une bonne première étape.
La prochaine étape consiste à déboguer votre pod. Vous pouvez utiliser la commande kubectl describe pod azure-vot-front-generated-id-number
pour obtenir l'état du déploiement. Si vous ne trouvez aucune erreur ici non plus, je vous recommande de vérifier les journaux. kubectl logs -f azure-vote-froned-generated-id-number
vous donnera les logs de l'application. Je suppose qu'à cette étape, vous aurez trouvé l'erreur et pourrez y remédier.
La partie de votre sortie sous PORT (S)
montre le mappage des ports à l'intérieur de votre cluster. Toute demande sur le port 80 sur l'adresse IP externe sera filtrée sur le port 31619 à l'intérieur du cluster. Kubernetes a veillé à ce que la demande soit filtrée sur le port 80 de votre application lorsque la demande atteint votre application. Tant que vous exposez le port dans votre Dockerfile, cela devrait être très bien.
où votre image est-elle stockée?
lorsque vous avez configuré le fichier yaml K8S, vous lui donnez l'emplacement de l'image, vous devez vous assurer que le service dispose des informations d'identification pour cela.
Par exemple, si vous le stockez sur Azure Container Registry , vous devrez configurer l'authentification entre eux pour donner à AKS l'accès à votre image Authentification entre ACR et cluster AKS pour l'extraction d'images a>
Pour vous vérifier, exécutez kubectl get pods
, si vous voyez sous status - 'ImagePullBackOff' cela signifie que l'action d'extraction de l'image a échoué.
Pour approfondir - exécutez kubectl describe pod
- Sous EVENTS
- vous trouverez le message d'erreur.