2017-03-09 1 views
3

Nous voulions que les noms de pods soient résolus en IP pour configurer les nœuds de départ dans un cluster akka. Cela se produisait en utilisant le concept d'un service sans tête et d'ensembles dynamiques dans Kubernetes. Mais, comment puis-je exposer un service sans tête à l'extérieur pour frapper un point de terminaison de l'extérieur?Frapper un point d'extrémité de HeadlessService - Kubernetes

Répondre

1

Il est difficile d'exposer un service Kubernetes à l'extérieur, car cela nécessiterait des proxys TCP complexes. La raison en est que les services sans tête sont uniquement un enregistrement DNS avec une adresse IP pour chaque pod. Mais ces adresses IP ne sont accessibles qu'à partir du cluster.

Une solution consiste à exposer cela via les ports de nœud, ce qui signifie que les ports sont ouverts sur l'hôte lui-même. Malheureusement, cela rend la découverte de service plus difficile, car vous ne savez pas quel hôte a un pod planifié dessus.

Vous pouvez ports de nœud de configuration via:

Une autre alternative est d'utiliser un LoadBalancer, si votre fournisseur de nuage soutient cela. Malheureusement, vous ne pouvez pas traiter chaque instance elle-même, car elles partagent la même adresse IP. Cela pourrait ne pas convenir à votre application.