Co to jest powinowactwo węzła w Kubernetes?
Node Affinity to harmonogram, który przypisuje węzły do określonych kapsułek. Kubernetes kapsuły korzystają z powinowactwa węzłów. Zdolność kapsuła do ogłoszenia powinowactwa do określonej grupy węzłów, na których można go umieścić, jest znana jako powinowactwo węzłów. W powinowactwie węzła wykonujemy dwa rodzaje planowania - miękkie i harmonogram. Poprzez powinowactwo węzła zapewnimy, że różne kapsuły, których używamy, są hostowane na określonych węzłach w klastrze Kubernetes. W POD każdy węzeł jest oznaczony unikalną wartością.
Wymagania wstępne:
W naszym systemie należy zainstalować system operacyjny Linux lub Ubuntu. Jeśli system Windows jest już zainstalowany, zainstaluj maszynę wirtualną i uruchom najnowszą wersję Ubuntu w swoim systemie. Kubernetes należy zainstalować w systemie po instalacji. Musisz zapoznać się z poleceniami Kubernetes i narzędzia linii poleceń Kubectl.
Przeczytaj uważnie warunki wstępne. Po spełnieniu tych wymagań uruchom polecenia w wierszu poleceń Kubectl, które są wymienione w następujących przykładach. Załóżmy samouczki na kroki, każdy z krótkim wyjaśnieniem.
Krok 1: Uruchom kubernetes
W pierwszym kroku uruchamiamy Kubernetes w terminalu. Polecenie jest następujące:
> Minikube start
Tutaj MiniKube zapewnia nam lokalne środowisko, w którym wykonujemy różne operacje na klastrach.
Tak więc po uruchomieniu polecenia zaczyna się minikube i przestrzeń węzła jest zarezerwowana.
Krok 2: Przyprzyj istniejący węzeł w Kubernetes
W tym etapie wyświetlane są oznaczone węzły, które obecnie istnieją w systemie. Aby uzyskać oznaczone węzły, używamy określonego polecenia.
Uruchom następujące polecenie w systemie i wyświetl wyniki:
> kubectl zdobądź węzły -show -labels
Na poprzednim zrzucie ekranu widzieliśmy, że to polecenie zwraca różne parametry, takie jak nazwa, status, role, wiek, wersja i etykiety. Parametry nazwy mają wyświetlić nazwę kontenera, parametr stanu polega na zwróceniu stanu kontenera, parametrem role jest zwrócenie, kto kontroluje kontener, parametr wiekowy ma zwrócić, jak długo utworzono ten kapsułkę, parametr wersji ma zwrócić Wersja tego POD, a parametr etykiet ma zwrócić określoną wartość węzła dla tego kapsuły.
Krok 3: Zdefiniuj powinowactwo węzła Kubernetes
Na tym etapie definiujemy powinowactwo węzła do kontenera minikube. Powinowactwo węzła zależy od etykiety. Tutaj przypisujemy etykiety za pomocą polecenia. Polecenie definiowania powinowactwa węzła jest następujące:
> węzły etykiety kubectl Minikube DiskType == SSD
Dołączamy etykietę do węzła minikube, którego typem jest SSD. Otrzymujemy listę oznaczonych węzłów po oznakowaniu węzła. Oznacza to, że otrzymujemy listę powinowactwa węzła. Tutaj ponownie uruchamiamy to samo polecenie, którego użyliśmy wcześniej, aby wyświetlić listę oznaczonych węzłów.
> kubectl zdobądź węzły -show -labeles
Krok 4: Zdefiniuj plik konfiguracyjny lub powinowactwo konfiguracji podsumowania węzła lub powinowactwo węzła w pliku YAML
W tym kroku definiujemy powinowactwo węzła w pliku YAML. W kontenerze minikube uruchamiamy następujące polecenia, aby utworzyć plik YAML:
> Nano Aff. Yaml
W Linux Nano jest używane do tworzenia plików.
Po wykonaniu polecenia pojawia się następujący załączony zrzut ekranu. Jest to plik konfiguracyjny zawierający informacje o kontenerach i klastrach. Jak widać na poniższym zrzucie ekranu, określa się powinowactwo. W powinowactwie węzłów daje nam wartość „wymagane, a następnie kadłubisexecution”. Oznacza to, że harmonogram trudny jest wykonywany na tym kapsule, a POD wymaga tego harmonogramu za wszelką cenę. W twardym powinowactwie, utworzona kapsuła nosi nazwę Nginx. Definiujemy ten typ dysku POD zgodnie z planem tego typu dysku węzłowego, którego załączoną etykietą jest SSD. Zawsze pamiętaj, że kiedy wyświetlane jest „wymagane podchodanie, recepcja”, wykonywane jest trudne planowanie powinowactwa węzłów.
W ten sposób definiujemy kapsułkę z różnymi rodzajami powinowactwa węzłów.
Krok 5: Sprawdź, czy POD jest zaplanowany w węźle etykiet
Na tym etapie ustalamy, czy POD jest zaplanowany w oznaczonym węźle. W tym celu uruchamiamy następujące polecenie:
> kubectl Zastosuj -f aff.Yaml
Kapsule jest tworzone pomyślnie.
Krok 6: Zakładaj wszystkie kapsuły do Kubernetes
Następnie sprawdzamy listę uruchamiania lub oczekujących kapsułek w naszych Kubernetes. Uruchamiamy następujące polecenie, które jest pokazane na zrzucie ekranu:
.> kubectl get pods -output = szeroki
Na wcześniejszym zrzucie ekranu zauważamy, że wszystkie kapsuły są w stanie działające. Wraz z tym otrzymujemy szczegóły Podpusza za to polecenie.
Krok 7: Utwórz kapsułkę, aby zdefiniować powinowactwo węzła w Kubernetes
W tym kroku ponownie uruchamiamy polecenie dla definicji powinowactwa węzłów. Tworzymy plik YAML z „PF.Nazwa Yaml. Polecenie jest następujące:
> Nano PF.Yaml
Krok 8: Sprawdź typ powinowactwa węzła
W tym kroku zobaczymy, który typ powinowactwa jest zdefiniowana w tym pliku YAML. Nazwa kapsuły to Nginx. Jego specyfikacja jest powinowactwo, jak pokazano na poniższym zrzucie ekranu. W powinowactwie węzła stosuje się „PreferRredduringschedulingignoredUndingException”. Gdy używane jest preferowane słowo, oznacza to, że typ powinowactwa węzła jest miękki. Soft Node powinowactwo oznacza, że jeśli harmonogram preferuje węzeł, a etykiety pasują do danego wyrażenia dopasowania, jest w porządku. W przeciwnym razie zignoruj i zaplanuj kapsułkę.
Krok 9: Sprawdź, czy POD zaplanowano oznaczenie węzła
W tym kroku sprawdzamy, czy wszystkie utworzone przez nas kapsuły są zaplanowane z węzłami etykietami. Z tego powodu uruchamiamy następujące polecenie, aby utworzyć POD jako plik YAML:
> kubectl aplikuj -f pf.Yaml
Kapsule jest tworzone pomyślnie.
Krok 10: Zakładaj wszystkie kapsuły do Kubernetes
Tutaj uruchamiamy polecenie, aby sprawdzić, czy wszystkie kapsuły są zaplanowane z oznaczonymi węzłami. Uruchamiamy następujące polecenie w terminalu:
> kubectl get pods -output = szeroki
Ten sam proces jest powtarzany dla powinowactwa miękkiego węzła, jak wcześniej omówiliśmy pod kątem powinowactwa twardego węzła. Wszystkie węzły są w stanie działające, co oznacza, że wszystkie kapsuły są zaplanowane z węzłami etykietami.
Wniosek
Node Affinity jest harmonogramem podsekcji na węzłach etykiet. Node powinowactwo zawiera zestaw reguł zarówno w formie twardej, jak i miękkiej. Tego się szczegółowo nauczyliśmy. Zakładamy, że wiele się nauczyłeś z tego samouczka. Możesz to ćwiczyć w celu ulepszenia.