2015-06-18 44 views
11

Jestem całkiem nowym użytkownikiem usług Discovery i systemów klastrowych. Zacząłem eksperymentować z Mesos i Marathon na potrzeby wdrażania kontenerów Docker, maraton REST API i interfejs użytkownika wydają się robić dobrą robotę.mesos-dns, najlepsza praktyka do pracy z portami

Moim problemem jest faktyczne wykrycie wdrożonych usług. Do celów testowych wdrożyłem klaster Kafka skalowany do 3 instancji przez Marathon, tak jak zrobiłem to z klastrem testowym MongoDB. Klient Mesos-DNS daje mi taki rekord, jak kafka.marathon.mesos i mongo.marathon.mesos, który implikuje dynamicznie odwzorowany port z hosta do kontenera. Problem polega na tym, że mój klient wyraźnie potrzebuje informacji o porcie docelowym. Czy istnieje ogólny sposób automatycznego i dymnego uzyskania tych informacji o porcie z usługi? A co z aplikacjami udostępniającymi wiele portów?

Moi thougts dotąd: - robi wezwanie REST, aby uzyskać status o wdrożonej aplikacji i jakoś wyodrębnić odpowiednie dane - robi odnośnika SRV DNS i jakoś wyodrębnić odpowiednie dane - mając jakąś „master ", statycznie związany z portem, z dynamicznymi" klientami ".

Dużo szukałem tych informacji, ale w końcu większość tutoriali zakończyła się ręcznym sprawdzeniem, na co nie celuję.

Odpowiedz

2

Jesteś na miejscu. Niedawno podałem w sprawie XebiCon numer dotyczący tego tematu i planuję opublikować wpis na blogu ze szczegółowymi informacjami na temat konfiguracji. GitHub repo. Na początek możesz rzucić okiem na numer Python implementation dotyczący części zużycia interfejsu API HTTP.

AKTUALIZACJA: wpis na blogu jest już dostępny here.

+0

Dzięki za odpowiedź, będę wyglądać! – ummecasino