Wpis z mikrobloga

Mircy, wytlumaczy ktos moze jak najlepiej zrobic cos takiego:

przykladowo na jakims klastrze k8s mam wystawiony serwis nginx jako NodePort, zeby sie do niego uderzam pod : jest git, dziala.

Ale chcialbym sobie zrobic jakis DNS zeby wygodniej do tego nginxa uderzac i co wazniejsze aby w momencie kiedy NodePort sie zmieni albo nody z klastra zrestartuja i beda miec inne ipki nadal mozna bylo uzywajac tego dnsa uderzac pod serwis.

Co do tego potrzebuje? Czytalem cos o externaldns, jak sie do tego ma kube-dns, coredns? Jak to wszystko powiazac, czego potrzebuje?

Przy zalozeniu ze nie uzywam zadnych zewnetrznych chmurowych providerow, mam swoje serwery i na nich klastry kubernetesa.

#programowanie #chmury #cloud #kubernetes #devops
  • 3
@Kielbasiarz:
1. Domena wskazuje na adres ip, nie na port. Jak sobie zrobisz przekierowanie domeny na to nadal będziesz musiał się łączyć przez :.
2. Nie wiem jaki masz config, jeżeli jakiś cloud to wykorzystaj to co daje, np. EKS ma to wbudowane. Robisz serwis typu LoadBalancer. Jeżeli masz na VM albo bare metal to możesz sobie zrobić nginx-ingress controller. Wtedy nginx-ingress-controller weystawiasz jako serwis na nodePort 80 i 443. Wtedy
@Kielbasiarz: poczytaj o ingress i ingress-controllers.

Na lokalnym serwerze DNS albo tam gdzie kupiłeś Domenę kierujesz ruch na taki ingress kubernetesowy i na nim resztę ustawiasz co ma gdzie kierować nawet jak się IP kontenerów zmienią to dostajesz się do swoich usług w ten sam sposób. 'Traefik' np. miał fajne możliwości i mógł przekierowywać na dowolne porty.

W celach testowych zamiast zmieniać ustawienia serwera DNS to możesz sobie w hosts