Wymagania wstępne
Ubuntu 20.02 lub dowolna inna najnowsza wersja Ubuntu powinna być zainstalowana w twoim systemie. Włącz maszynę wirtualną w systemie Ubuntu, aby wykonać polecenia Kubernetes. Musisz zapoznać się z kapsułkami, klastrowymi DNS, Statefulsets i narzędziem wiersza poleceń Kubectl.
Postępuj zgodnie z tym przewodnikiem krok po kroku, aby dowiedzieć się, jak utworzyć zestaw stanu w Kubernetes:
Krok #1: Rozpocznij pulpit Kubernetes
Aby uruchomić aplikację Kubernetes lub polecenia w aplikacji Kubernetes, musisz mieć uruchomiony terminal Kubernetes. „Minikube” to terminal Kubernetes, który służy do wykonywania różnych poleceń w aplikacjach Kubernetes. Użyj poniższego polecenia, aby uruchomić minikube:
Kalsoom@VirtualBox> Minikube start
Po wprowadzeniu tego polecenia na terminalu Kubernetes naciśnij ENTER, aby go wykonać. Po wdrożeniu instrukcji otrzymasz następujący wynik:
Krok #2: Otwórz/Utwórz plik YAML
Następnym krokiem jest otwarcie pliku YAML, jeśli masz już utworzony plik. W przeciwnym razie możesz utworzyć nowy plik YAML, który ma być używany do tworzenia statefulset. Kubernetes zapewnia polecenie „Nano” do utworzenia lub otwarcia pliku w systemie Kubernetes. Podaj nazwę pliku z rozszerzeniem pliku i uruchom na nim polecenie Nano. Zobacz polecenie podane poniżej:
kalsoom@virtualbox> nano textweb.Yaml
Po wykonaniu tego polecenia w terminalu Kubernetes zobaczysz następujący plik otwarty w terminalu Kubernetes:
Krok #3: Utwórz konfigurację z pliku YAML
Polecenie „Kubectl Utwórz” służy do utworzenia konfiguracji dla usług. Mamy plik YAML i wszystkie specyfikacje dla usługi Statefulset wymienionych w pliku. Plik będzie używany z poleceniem „Utwórz”, aby bezpośrednio utworzyć zasób Kubernetes na terminalu Kubernetes. Zobacz polecenie podane poniżej, aby bezpośrednio utworzyć zasoby Kubernetes:
kalsoom@virtualbox> kubectl Utwórz -f testWeb.Yaml
Po pomyślnym wykonaniu polecenia zobaczysz komunikat „utworzony” na terminalu. Za pomocą tego polecenia zostaną utworzone dwa kapsuły, a każdy z nich będzie działał w serwisie sieciowym Nginx.
Krok #4: Utwórz kapsuły Statefulset
Następnym krokiem jest utworzenie kapsuł dla statefulset. Polecenie używane do utworzenia kapsuł dla Statefulset podano poniżej:
kalsoom@virtualbox> kubectl pobierz pods -w -l app = nginx
Po wykonaniu tego polecenia zobaczysz następujący wynik na terminalu Kubernetes:
Krok #5: Uzyskaj usługi Nginx Webserver
Jak utworzyliśmy dwa podski w poprzednim kroku i każdy z nich działa na serwerze Nginx, uzyskajmy usługi tych kapsułów z serwera internetowego Nginx. Użyj następującego polecenia, aby uzyskać usługi Nginx:
kalsoom@virtualbox> kubectl get Service nginx
Napisz to polecenie na terminalu minikube i naciśnij polecenie Enter, aby je wykonać i zobacz następujący wynik:
Krok #5: Zdobądź Web Statefulset
Kolejnym krokiem jest potwierdzenie, że oba kapsuły zostały pomyślnie utworzone i można to zrobić za pomocą Web Statefulset. Aby uzyskać Web Statefulset, użyj następującego polecenia:
Kalsoom@VirtualBox> Kubectl Get Statefulset Web
Napisz to polecenie na terminalu Kubernetes, po wykonaniu otrzymasz następujące dane wyjściowe:
Krok #6: Utwórz uporządkowane repliki statefulset
Krągi dla statefulset z wieloma replikami są tworzone w kolejności sekwencyjnej. Każdy kapsułek jest wdrażany w sekwencji 0 do N-1. Skonfigurujmy kolejność utworzonych kapsuł w terminalu. Użyj polecenia „kubectl get”, aby skonfigurować zamówienie. Zobacz pełne polecenie poniżej:
kalsoom@virtualbox> kubectl pobierz pods -w -l app = nginx
Po wykonaniu tego polecenia w terminalu Kubernetes wyjście ostatecznie będzie wyglądało jak ten podany w fragmencie poniżej:
Jak widać na wyjściu, dopóki nie uruchomi się Web-0, kapsułka Web-1 nie została uruchomiona.
Krok #7: Zbadaj wskaźnik porządkowy PODS
Krągi są tworzone z indeksem porządkowym, a także mają stabilną tożsamość sieciową, zbadajmy indeks porządkowy strąków statefulset za pomocą następującego polecenia:
kalsoom@virtualbox> kubectl get pods -l app = nginx
To polecenie pokaże unikalną tożsamość POD na podstawie unikalnego indeksu porządkowego, który został przypisany przez kontroler StateFulset do każdego kapsułki. Nazwa kompletnego kapsuła jest podana jako - a dwa strąki zostaną utworzone dla sieci Web StateSet, ponieważ ma dwie repliki. Teraz zobaczmy poniższe dane:
Krok #8: Wdrożenie instrukcji nazwy hosta w każdym POD
Stałą nazwę hosta została przydzielona do każdego kapsule uzasadnionego w indeksie porządkowym. Aby zaimplementować nazwę hosta przypisaną do każdego POD, możemy użyć następującego polecenia:
kalsoom@virtualbox> dla i w 0 1; do Kubectl Exec "Web -$ i" -sh -c 'hostName'; zrobione
To polecenie pokaże dwie repliki kapsuły. Zobacz dane wyjściowe podane w fragmencie poniżej:
Krok #8: Zbadaj adresy DNS w klastrze
Adresy DNS w klastrze kapsuły są badane za pomocą „nslookup”. Pakiet „DNSUTILS” zapewnia funkcjonalność „nslookup” do wykonania polecenia „Kubectl Run” na kontenerze Statefulset. Pełne polecenie jest podane poniżej dla twoich wskazówek:
Kalsoom@VirtualBox> Kubectl Run -i - -tty --Mage zajęty: 1.28 DNS-TEST-RESTART = nigdy--RM
To uruchomi nową powłokę, w której możesz wykonać pojemnik tekstowy DNS za pomocą następującego polecenia:
kalsoom@virtualbox> nSlookup Web-O.nginx
Po wykonaniu tego polecenia podobne dane wyjściowe będzie dostępne na terminalu:
Teraz sprawdź status kapsułów statefulset, a następnie wyjdź z powłoki kontenerowej. Ponownie, użyj polecenia „Kubectl Get”, aby zobaczyć strąki statefulset.
Krok #9: Usuń kapsuły w Statefulset
Ostatnim krokiem jest wymazanie wszystkich strąków w statefulset. I w tym celu możesz ćwiczyć instrukcję „Kubectl Usuń”. Zobacz pełne polecenie podane poniżej:
kalsoom@virtualbox> kubectl delete POD -l app = nginx
Po uruchomieniu tego polecenia w terminalu Kubernetes wyjście ostatecznie będzie wyglądać tak:
Wniosek
W tym artykule nauczyliśmy się tworzyć, aktualizować i usuwać kapsuły w statefulsku Kubernetes. Użyliśmy różnych poleceń kubectl do skonfigurowania kapsuł w Statefulset. Plik YAML został użyty do definicji usług kapsułów i do skonfigurowania tych usług w Statefulset