Jak wdrożyć Nginx na klastrze Kubernetes
- 4056
- 1203
- Pani Janina Cieśla
W naszym ostatnim artykule omówiliśmy, jak skonfigurować i uruchomić klaster Kubernetes, omówmy, w jaki sposób możemy wdrożyć Nginx Usługa w naszym klastrze.
Uruchomię to wdrożenie na maszynie wirtualnej hostowanym przez dostawcę chmury publicznej. Podobnie jak w przypadku wielu usług w chmurze publicznej, wielu ogólnie utrzymuje publiczny i prywatny program IP dla swoich wirtualnych maszyn.
Środowisko testowe
Węzeł główny - publiczne IP: 104.197.170.99 i prywatny IP: 10.128.15.195 Węzeł pracowniczy 1 - Publiczne IP: 34.67.149.37 i prywatny IP: 10.128.15.196 Węzeł pracowniczy 2 - Publiczne IP: 35.232.161.178 i prywatny IP: 10.128.15.197
Wdrażanie Nginx w klastrze Kubernetes
Uruchomymy to wdrożenie z węzła głównego.
Zacznijmy od sprawdzenia statusu klastra. Wszystkie twoje węzły powinny być w GOTOWY państwo.
# kubectl zdobądź węzłySprawdź status klastra Kubernetes
Tworzymy wdrożenie Nginx używając Nginx obraz.
# kubectl Utwórz wdrażanie nginx --Mage = nginxWdrażanie Nginx na Kubernetes
Możesz teraz zobaczyć stan swojego wdrożenia.
# kubectl zdobądź wdrożeniaSprawdź wdrożenie Nginx na Kubernetes
Jeśli chcesz zobaczyć więcej szczegółów na temat swojego wdrożenia, możesz uruchomić opisać Komenda. Na przykład możliwe jest ustalenie, ile replików wdrażania działa. W naszym przypadku spodziewamy się, że zobaczymy replikę 1 biegu (i.mi 1/1 repliki).
# kubectl Opisz wdrażanie nginxSprawdź szczegóły wdrażania Nginx
Teraz twoje wdrożenie Nginx jest aktywne, możesz wystawić Nginx obsługa publicznego adresu IP osiągalnego w Internecie.
Wystawiając swoją usługę Nginx na sieć publiczną
Kubernetes oferuje kilka opcji podczas ujawniania usługi na podstawie funkcji o nazwie Kubernetes Service-Types i są:
- Klasterip - Ten typ usługi ogólnie ujawnia usługę na wewnętrznym IP, osiągalnym tylko w klastrze i być może tylko w nodach klastra.
- Nodeport - Jest to najbardziej podstawowa opcja ujawnienia usługi, aby była dostępna poza klastrem, na określonym porcie (nazywany Nodeport) w każdym węźle w klastrze. Wkrótce zilustrujemy tę opcję.
- LOADBALANCER - Ta opcja wykorzystuje zewnętrzne usługi równoważenia obciążenia oferowane przez różnych dostawców, aby umożliwić dostęp do Twojej usługi. Jest to bardziej niezawodna opcja, gdy myśląc o wysokiej dostępności usługi i ma więcej funkcji poza domyślnym dostępem.
- Nazwa zewnętrzna - Ta usługa przekierowuje ruch na usługi poza klastrem. Jako taka usługa jest zatem mapowana na nazwę DNS, którą można hostować z twojego klastra. Należy zauważyć, że nie używa to serwera proxy.
Domyślny typ usługi to Klasterip.
W naszym scenariuszu chcemy użyć Nodeport Service Type Ponieważ mamy zarówno publiczny, jak i prywatny adres IP i na razie nie potrzebujemy zewnętrznego balansu obciążenia. Dzięki temu typowi usługi Kubernetes przypisuje tę usługę w portach na 30000+ zakres.
# kubectl Utwórz usługę Nodeport nginx - -tcp = 80: 80Utwórz usługę Nodeport, aby ujawnić Nginx
Uruchom Zdobądź SVC polecenie, aby zobaczyć podsumowanie Usługi i ujawnionych portów.
# kubectl zdobądź svcSprawdź usługę i port Nginx
Teraz możesz sprawdzić, czy Nginx Strona można osiągnąć we wszystkich węzłach za pomocą polecenia curl.
# Curl Master Node: 30386 # Curl Node-1: 30386 # Curl Node-2: 30386Sprawdź stronę Nginx na klastrze Kubernetes
Jak widać, „Witamy w Nginx!„Można dotrzeć do strony.
Dotarcie do efemerycznych publicznych adresów IP
Jak zapewne zauważyłeś, Kubernetes doniesienia, że nie mam aktywnego publicznego IP, a raczej nie zarejestrował zewnętrznego IP.
# kubectl zdobądź svcSprawdź usługę i port Nginx
Sprawdźmy, czy to rzeczywiście prawda, że nie mam zewnętrznego adresu IP dołączonego do moich interfejsów za pomocą polecenia IP.
# ip aSprawdź adresy IP
Brak publicznego adresu IP, jak widać.
Jak wspomniano wcześniej, obecnie prowadzę to wdrożenie na Maszyna wirtualna oferowane przez dostawcę chmury publicznej. Tak więc, chociaż nie ma konkretnego interfejsu przypisanego publicznego adresu IP, dostawca VM wydał efemeryczny zewnętrzny adres IP.
Efemeryczny zewnętrzny adres IP to tymczasowy adres IP, który pozostaje dołączony do maszyny wirtualnej, dopóki instancja wirtualna nie zostanie zatrzymana. Po ponownym uruchomieniu instancji wirtualnej przypisuje się nowy zewnętrzny adres IP. Zasadniczo jest to prosty sposób dla usługodawców do wykorzystania na bezczynnych publicznych adresach IPS.
Wyzwanie tutaj, poza tym, że publiczne IP nie jest statyczne, polega na tym, że Efemeryczne publiczne IP jest po prostu rozszerzeniem (lub proxy) prywatnego adresu IP i dlatego usługa będzie dostępna tylko w porcie 30386. Oznacza to, że usługa będzie dostępna na adresie URL , to jest 104.197.170.99: 30386, które jeśli sprawdzisz przeglądarkę, powinieneś być w stanie zobaczyć stronę powitalną.
Dzięki temu pomyślnie wdrożyliśmy Nginx na naszym 3-węzłowym klastrze Kubernetes.
- « Jak zainstalować i używać narzędzia do odzyskiwania danych testowych w Linux
- Jak zainstalować komputer stacjonarny w Arch Linux »