2017-03-09 2 views
3

Wir wollten, dass Podnamen in IPs aufgelöst werden, um die Seed-Knoten in einem Akka-Cluster zu konfigurieren. Dies geschah durch die Verwendung des Konzepts eines kopflosen Dienstes und statusbehafteter Sätze in Kubernetes. Aber wie stelle ich einen Headless-Service extern zur Verfügung, um einen Endpunkt von außen zu treffen?Einen Endpunkt von HeadlessService treffen - Kubernetes

Antwort

1

Es ist schwierig, einen Kubernetes-Dienst nach außen zu offenbaren, da dies einige komplexe TCP-Proxies erfordern würde. Der Grund dafür ist, dass die Headless-Dienste nur ein DNS-Eintrag mit einer IP für jeden Pod sind. Diese IPs sind jedoch nur innerhalb des Clusters erreichbar.

Eine Lösung besteht darin, diese über Node-Ports verfügbar zu machen, was bedeutet, dass die Ports auf dem Host selbst geöffnet sind. Leider erschwert dies die Erkennung von Diensten, da Sie nicht wissen, auf welchem ​​Host ein geplanter Pod vorhanden ist.

können Sie Setup-Knoten-Anschlüsse über:

Eine weitere Alternative zu definieren ist eine LoadBalancer zu verwenden, wenn Ihr Cloud-Anbieter unterstützt das. Leider können Sie nicht jede Instanz selbst adressieren, da sie die gleiche IP teilen. Dies ist möglicherweise nicht für Ihre Anwendung geeignet.

Verwandte Themen