2017-09-12 4 views
0

Essayer nginx sur kubernetes pour accéder aux services s'exécutant sur différents ports. Initialement, lorsque tous les services déployés et nginx déployés à la fin, je vois tout fonctionne bien.Nginx ne reflétant pas le serveur proxy

Si l'un des services est mis à jour/redémarré, nginx ne peut pas accéder à ce service particulier.

server { 
    location/{ 
     proxy_pass http://backends.example.com:8080; 
    } 
} 

et sera en mesure d'accéder au service que si je redémarre le nginx par

nginx -s reload 

Quoi qu'il en soit pour faire nginx détecter/sondage pour refléter les services redémarrages (Service Discovery avec DNS)

+1

Exécutez-vous nginx manuellement? Si c'est le cas, je vous recommande fortement de regarder Ingresses et le contrôleur d'entrée nginx: https://kubernetes.io/docs/concepts/services-networking/ingress/ https://github.com/kubernetes/ingress/ tree/master/controllers/nginx –

+0

@MarcSluiter: J'étais en train d'implémenter la propre façon api-gate (dans un nouveau pod déployé autre que nginx qui fonctionne avec ingress). –

Répondre

1

Le service ne redémarre jamais, et ClusterIP ne change jamais (enfin, sauf si vous supprimez et recréer le service), vous n'avez donc pas besoin de surveiller les changements dans les endpoints backing car c'est en quelque sorte ce que -proxy fait pour vous.