Expose Kubernetes Service na zewnętrzny adres IP

Expose Kubernetes Service na zewnętrzny adres IP
W tym przewodniku mamy nauczyć się, jak wystawiać usługę Kubernetes na zewnętrzny adres IP. Istnieją trzy różne sposoby ujawnienia usługi Kubernetes na zewnętrzny adres IP: CLUSTERIP, Nodeport i LoadBalancer. W tym przewodniku dowiemy się, jak wystawiać usługę Kubernetes na zewnętrzny adres IP za pomocą metody LoadBalancer.

Wymagania wstępne:

Potrzebujesz następujących narzędzi zainstalowanych i prawidłowo skonfigurowanych w swoim systemie, zanim zaczniesz do przodu:

  • Narzędzie wiersza poleceń kubectl
  • Kubernetes Cluster
  • Minikube klaster
  • Ubuntu 22.04 lub inna późniejsza wersja
  • Dostawcy chmury, tacy jak Amazon Web Services itp

Po zainstalowaniu tych narzędzi będziesz gotowy na ujawnienie usługi Kubernetes na zewnętrzny adres IP.

Jak mogę udostępnić usługę Kubernetes dla zewnętrznych adresów IP?

Oto przewodnik krok po kroku do ujawnienia usługi Kubernetes na zewnętrzny adres IP.

Krok # 1: Rozpocznij minikube

Zacznijmy od inicjowania klastra minikupu. Ważne jest, aby uruchomić klaster minikube za każdym razem, gdy musisz coś skonfigurować lub uruchomić aplikacje w środowisku Kubernetes. Uruchomienie klastra minikube zapewnia, że ​​klaster minikube jest uruchomiony i gotowy do wykonania aplikacji. Dlatego po prostu użyj polecenia pokazanego poniżej, aby uruchomić klaster minikube:

kalsoom@kalsoom-virtualbox> start minikube

Krok 2: Utwórz wdrożenie

W tym przewodniku wystawiamy usługę Kubernetes na zewnętrzny adres IP za pomocą wdrożenia. Mamy konfigurację zdefiniowaną w próbce obciążenia.plik YAML, którego użyjemy do utworzenia wdrożenia w klastrze. Aby utworzyć wdrożenie, wykonamy następujące polecenie:

kalsoom@kalsoom -virtualbox> kubectl aplikuj -f https: // k8s.IO/Przykłady/Service/Load-Balancer-Example.Yaml

Jak pokazano, wdrożenie zatytułowane Hello-World zostało pomyślnie wygenerowane.

Krok # 3: Sprawdź wdrożenie

Teraz sprawdźmy, jakie wdrożenie zostało utworzone i powiązane z nimi szczegóły. Aby zweryfikować wdrożenie, zostanie użyte poniższe polecenie:

kalsoom@kalsoom-virtualbox> kubectl get wdrożenia hello-world

To polecenie wyświetli szczegóły wdrażania, patrz wyniki poniżej:

Jak pokazano, wdrożenie Hello-World zostało utworzone z zestawem repliki zawierającym pięć strąków. Każdy z pięciu kapsułów uruchomi aplikację Hello-World. Jednak to polecenie pokazało krótki szczegół wdrożenia, jeśli chcesz sprawdzić więcej szczegółów wdrożenia, możesz użyć następującego polecenia:

kalsoom@kalsoom-virtualbox> kubectl Opisz wdrożenia hello-world

Polecenie „Kubectl Opis” zawiera opis wdrażania w szczególności, który pomaga dowiedzieć się więcej o wdrożeniu. Patrz podane poniżej dane wyjściowe, aby uzyskać szczegółowy opis wdrożenia:

Krok # 4: Sprawdź obiekty repliki

Jak wiemy, wdrożenie zostało utworzone za pomocą obiektu replicaset. Sprawdźmy więc szczegóły tych obiektów. Aby sprawdzić szczegóły repliki, możemy zastosować polecenie wymienione poniżej:

kalsoom@kalsoom-virtualbox> kubectl zdobądź repliki

Jak pokazano, szczegóły replikazetów obejmują: nazwę, pożądane, aktualne, gotowe i wiekowe. Jeśli chcesz dowiedzieć się więcej o replikazetach wdrożenia, możesz użyć następującego polecenia:

kalsoom@kalsoom-virtualbox> kubectl Opisz replikizety

To polecenie poda dogłębne szczegóły replikazetów powiązanych z wdrożeniem ze strony hello-świat, patrz wyniki podane na zrzucie ekranu poniżej:

Krok # 5: Utwórz obiekt serwisowy, aby ujawnić wdrożenie

Teraz ujawnijmy wdrożenie za pomocą obiektu serwisowego. Ponieważ wystawiamy usługę Kubernetes na zewnętrzny adres IP za pomocą wdrożenia, będziemy potrzebować obiektu serwisowego, aby ujawnić wdrożenie.

kalsoom@kalsoom-virtualbox> Kubectl Expose wdrożenie hello-world --Type = loadBalancer --name = my-service

Jak widać, istnieją dwie flagi używane z polecenie. Pierwsza flaga określa rodzaj balansu, a druga flaga określa nazwę obiektu serwisowego. Teraz zapoznajmy się z wynikiem podanym poniżej:

Jak widać na powyższym wyjściu, obiekt serwisowy o nazwie My-Service został pomyślnie ujawniony.

Krok # 6: Uzyskaj szczegóły obiektu serwisowego

Następnym krokiem jest zobaczenie szczegółów obiektu serwisowego, który utworzyliśmy wcześniej. Możemy użyć poniższego polecenia, aby uzyskać szczegóły obiektu serwisowego:

kalsoom@kalsoom-virtualbox> kubectl get Service My-service

Polecenie „Kubectl Get” służy do uzyskania dostępu do klastra, pod, węzła lub czegokolwiek w środowisku Kubernetes. Staramy się uzyskać szczegóły obiektu serwisowego. Dlatego dostarczyliśmy flagę „Usług”, a następnie nazwa obiektu serwisowego My-service. Zobacz dane wyjściowe poniżej:

Ponownie, jeśli chcesz dowiedzieć się więcej o obiekcie serwisowym, zawsze możesz użyć polecenia „Kubectl Opis”. Pełne polecenie jest podane poniżej dla twojego odniesienia:

kalsoom@kalsoom-virtualbox> Kubectl Opisz usługi my-service

Po wykonaniu tego polecenia otrzymujesz podobne dane wyjściowe do podanego poniżej:

Z powyższego wyjścia możesz zauważyć, że adres IP to 10.110.159.180. Używany port wynosi 8080, a Nodeport to 30215, podczas gdy nie ma punktów końcowych, a adres IP należy do rodziny IPv4.

Krok 7: Sprawdź adres POD

Teraz, gdy znamy szczegóły obiektu serwisowego, możemy sprawdzić adres PODS, na którym obecnie uruchomili aplikację Hello-World. Polecenie opisane poniżej ułatwia to osiągnięcie tego:

kalsoom@kalsoom -virtualbox> kubectl get pods -output = szeroki

To polecenie pokaże nam adres POD, które uruchamiają aplikację Hello-World, patrz dane wyjściowe podane w migawce poniżej:

Tak więc jak ujawnić usługi Kubernetes na zewnętrzny adres IP.

Krok # 8: Oczyść

Po pomyślnym ujawnieniu usług Kubernetes na zewnętrzny adres IP, upewnij się, że usuń obiekt serwisowy wraz z wdrożeniem. Można to zrobić za pomocą następującego polecenia:

kalsoom@kalsoom-virtualbox> Kubectl Usuń usługi My-service

Za pomocą tego polecenia obiekt serwisowy zostanie usunięty z klastra:

Teraz, aby usunąć pełne wdrożenie, w tym kapsuły i repliki, użyj następującego polecenia:

kalsoom@kalsoom-virtualbox> Kubectl Usuń wdrożenie hello-world

Wniosek

W tym przewodniku nauczyliśmy się ujawniać usługi Kubernetes na zewnętrznym adresie IP. Za pomocą przewodnika krok po kroku wystawiliśmy usługę Kubernetes na zewnętrzny adres IP za pomocą wdrożenia. Po wystawieniu usługi Kubernetes na zewnętrzny adres IP, wykonaliśmy również odpowiedni proces czyszczenia.