Jakie są toleracje i skaże w Kubernetes?
Tolerancja i skażenie w Kubernetes są używane, aby zapewnić, że kapsuły są umieszczone we właściwym węźle. Tolerancja jest zdefiniowana w specyfikacji POD, podczas gdy darni są zdefiniowane w specyfikacji węzła. Po zastosowaniu tolerancji na POD pozwala harmonogramowi zaplanować kapsuły w określonym węźle. Jednak skacze działają przeciwnie do tolerancji. Pozwala węzłowi odrzucić na nim zaplanowanie kapsułek. Krągi mogą być zaplanowane tylko w węźle, jeśli mają zastosowanie do nich tolerację z pasującymi skażonymi.
Kubernetes współpracuje z kapsułkami, klastrami, węzłami, zdarzeniami itp. W niektórych przypadkach, aby zarządzać tymi rzeczami, Kubernetes potrzebuje tolerancji i skażania. Tolerancja to wdrożenie procesu planowania. Krągi muszą być zaplanowane, aby mogły działać poprawnie i mogą mieć wystarczającą ilość zasobów w razie potrzeby, aby wykonać swoją działalność. Toleracje są stosowane do kapsułów przeciwko skazaniu, aby nie przerywać ani zakłóceń podczas pracy.
Scals in Kubernetes umożliwia odrzuceniu kapsułki. Jest stosowany do węzła za pomocą specyfikacji węzła „Nodespec”. Harmonogram nie jest w stanie umieścić kapsułki w węźle, który ma skazę. Jeśli jednak chcesz zaplanować kapsuły w węźle, w którym stosuje się już skażenie, musisz zadeklarować tolerancję.
Tolerancja w Kubernetes umożliwia zaplanowanie kapsułki w węźle, w którym skaza jest już zastosowana. Tolerancja na POD jest stosowana za pomocą specyfikacji Podspec ”. Po zastosowaniu tolerancji na podnośniku z pasującą skazą, harmonogram może łatwo zaplanować kapsuły w określonym węźle.
Teraz przedstawmy scenariusz, który pomoże Ci zrozumieć, w jaki sposób możesz zaimplementować tolerancję na kapsule w Kubernetes. Przed przejściem do sekcji wdrażania upewnij się, że masz wszystkie wymagania wstępne.
Warunek wstępny:
Poniżej przedstawiono rzeczy, których potrzebujesz, aby zaimplementować tolerancję w węźle w Kubernetes:
Zakładając, że Twój system spełnia wszystkie potrzeby warunków wstępnych, zacznijmy ustawiać tolerancję Kubernetes.
Krok 1: Rozpocznij terminal minikube
Pierwszą rzeczą, którą musisz zrobić, jest założenie terminalu minikube. Aby rozpocząć minikube, używane jest następujące polecenie:
> Minikube start
Po wykonaniu tego polecenia otrzymasz następujące dane wyjściowe w terminalu:
Krok 2: Zdobądź listę aktywnych węzłów
Teraz, gdy rozpoczęliśmy minikube, nasz system jest gotowy do ustawienia tolerancji na PODS w Kubernetes. Zanim ustawym tolerancję na kapsułach, sprawdźmy, ile węzłów i jakiego rodzaju węzłów już mamy. Aby to zrobić, używamy następujące kolejne polecenie:
> kubectl get węzły -o = custom -columns = nodename:.metadane.Imię, Taintkey:.Spec.Scales [*].Klucz, taintValue:.Spec.Scales [*].wartość, tainteffect:.Spec.Scales [*].efekt
Ta instrukcja zawiera wszystkie węzły, które są skażone przez domyślną instalację Kubernetes. Najpierw zobaczmy wyjście tego polecenia. Następnie omawiamy listę węzłów:
Ponieważ nie ma węzłów, które są tworzone i skażone przez domyślną instalację Kubernetes, a także nie utworzyliśmy żadnego węzła, wynik jest . Z poprzedniego wyjścia widzimy, że nie ma węzła. Stąd najpierw tworzymy węzeł, a następnie ustawiamy tolerancję. Aby ustawić tolerancję na kapsule w Kubernetes, najpierw musimy wdrożyć aplikację na klastrze. Następne kilka kroków pokazuje, jak wdrożyć aplikację w klastrze.
Krok 3: Utwórz przestrzeń nazw
Najpierw tworzymy przestrzeń nazw, aby wdrożyć aplikację w klastrze. Tutaj tworzymy aplikację o wartości „frontend” za pomocą następującego polecenia:
> kubectl Utwórz NS Frontend
To polecenie tworzy przestrzeń nazw o wartości „frontend”. Zobacz następujące dane wyjściowe:
Krok 4: Wdrażaj kapsułkę Nginx w przestrzeni nazw
Teraz wdrażaj kapsułkę Nginx w przestrzeni nazw, którą właśnie stworzyliśmy. Używamy następującego polecenia, aby wdrożyć Nginx:
> Kubectl uruchom nginx -image = nginx -namespace frontend
To wdraża aplikację na klastrze bez konfiguracji tolerancji w specyfikacji wdrażania aplikacji. Korzystając z polecenia Kubectl, wdrażamy kapsułkę Nginx w przestrzeni nazw:
Krok 5: Zdobądź listę kapsułek
Teraz sprawdźmy utworzone kapsuły, aby zobaczyć ich statusy. Dane polecenie zawiera również wszystkie strąki i ich statusy:
> kubectl get Pods -n Frontend
Ponieważ utworzyliśmy tylko Nginx, to polecenie powinno wymienić ten kapsułkę ze swoim statusem. Zobacz następujące dane wyjściowe:
Krok 6: Przeanalizuj zdarzenia Kubernetes
Teraz przeanalizujmy zdarzenia w Kubernetes, abyśmy mogli odpowiednio ustawić tolerancję na kapsułkach. Używamy następującego polecenia Kubectl, aby uzyskać listę zdarzeń w Kubernetes:
> kubectl zdobądź wydarzenia -n frontend
Wymienia to wszystkie zdarzenia związane z wartością front-end wraz z ich właściwościami, takimi jak typ, rozum, obiekt i wiadomość. Zobacz podaną listę w następującym wyjściu:
Jak widać z poprzedniego wyjścia, POD Nginx jest zaplanowany z konkretną tolerancją. Właściwość „Wiadomość” pokazuje listę działań wykonywanych wzdłuż procesu.
Krok 7: Sprawdź status PODS
Ostatnim krokiem jest ponowne sprawdzenie statusu kapsułki, który utworzyliśmy wcześniej, aby upewnić się, że jest on pomyślnie zaplanowany na określonym i poprawnym węźle. Aby to zrobić, używamy następującego polecenia Kubectl:
> kubectl get Pods -n Frontend
Jak widać w poprzednim wyjściu, kapsuł.
Wniosek
W tym przewodniku badaliśmy skalę i tolerancję. Dowiedzieliśmy się o podstawowym działaniu skażeć i tolerancji. Następnie wdrożyliśmy tolerancję na podnośniku. Za pomocą prostego przykładu nauczyliśmy się ustawić tolerancję na węźle w Kubernetes.