Jak używać skazania na Kubernetes

Jak używać skazania na Kubernetes
Kubernetes to najlepsze środowisko kontenerowe, które wykorzystuje klastry, węzły i kapsuły do ​​uruchamiania aplikacji. Strąki, węzły i klastry są ze sobą powiązane i pracują ręcznie. Klaster ma jeden lub więcej węzłów, na których zaplanowano jeden lub więcej strąków, a te kapsuły są używane do uruchamiania aplikacji. W administracji Kubernetes planowanie POD jest bardzo ważnym aspektem, ponieważ odgrywa istotną rolę w redukcji kosztów, poprawie wydajności i pomaga skupić się na zarządzaniu skalą. Scale pomagają w równowadze harmonogramu obciążenia węzłami i zdecydować, który POD zaplanowany w węźle. W tym artykule pokaże, czym jest skażenie i jak jest zdefiniowany dla węzła, omawiając, w jaki sposób można go używać na Kubernetes.

Co to jest skażenie?

Połączenie strąków, węzłów i klastrów działa razem. Krągi są przyciągane do węzłów przez właściwość powinowactwa węzłów, podczas gdy skaze ograniczają kapsuły do ​​zaplanowania węzłów. Tolerancja i skacze współpracują ze sobą, aby upewnić się, że żaden kapsułek nie zostanie zaplanowany w niewłaściwym węźle. Właściwości te zapewniają, że kapsuły są zaplanowane w odpowiednim węźle, a także zarządzają obciążeniem węzłem, dystrybuując równe obciążenie na wszystkich węzłach w klastrze. Scale są zdefiniowane dla węzła za pomocą specyfikacji węzła, podczas gdy POD używają tolerancji ze specyfikacji POD.

Taints to ograniczenia, które umożliwiają węzeł odstraszanie strąków, które są planowane w węźle. Z drugiej strony tolerancja działa przeciwko skażeniu i pozwala na zaplanowanie kapsuł. Dla kapsułów może istnieć więcej niż jedna skażanka, aby zapewnić, że kapsuły nie zostaną zaplanowane, chyba że będą tolerować określoną skalę. Tutaj pokazujemy, jak korzystać z skandalów na kapsułach Kubernetes za pomocą prostego, krótkiego i łatwego przykładu.

Wymagania wstępne

Upewnij się, że masz w systemie zainstalowane następujące narzędzia przed kontynuowaniem tego przewodnika. Dzięki tym podstawowym narzędziom nie będziesz mógł używać skażeć w węzłach Kubernetes.

  • Ubuntu 20.02 lub jakakolwiek inna najnowsza wersja
  • Narzędzie wiersza poleceń kubectl
  • Kubernetes Cluster
  • Minikube klaster

Upewnij się, że te narzędzia są poprawnie zainstalowane i skonfigurowane w systemie, aby nie mieć problemu za pomocą skalania w węzłach Kubernetes. Zakładając, że przygotujesz swój system z zainstalowanymi wszystkimi tymi narzędziami, przechodzimy do następnej sekcji.

Jak używać skażonych w węzłach Kubernetes?

Tutaj przedstawimy prosty scenariusz, który pomoże Ci nauczyć się korzystać z skazania w węźle Kubernetes. Pozwól nam zacząć!

Krok # 1: Rozpocznij klaster minikube

Najpierw uruchom klaster minikube, abyś mógł użyć poleceń Kubectl i uruchomić aplikację. Klaster minikube umożliwia wdrożenie węzłów, kapsułów, a nawet klastrów w środowisku Kubernetes. Dlatego konieczne jest utrzymanie minikupu w trybie aktywnym za pomocą następującego polecenia:

kalsoom@kalsoom-virtualbox> minikube start

To aktywuje klaster minikube i sprawi, że środowisko Kubernetes jest gotowe do korzystania z kroku w węźle.

Krok 2: Pobierz listę węzłów

Jak omówiliśmy powyżej, środowisko Kubernetes opiera się na węzłach, kapsułach i klastrach. Kapsuły są zaplanowane na węzłach i musimy zdefiniować skazę dla tego węzła, aby zapobiec zaplanowaniu strąków w tym węźle. Tak więc tutaj wyświetlamy listę węzłów, aby sprawdzić, który węzeł ma już zdefiniowaną dla niego skażoną skazę. Ponadto użyjemy następującego polecenia:

kalsoom@kalsoom-virtualbox> kubectl get węzły -o = custom-columns = nodeName:.metadane.Imię, Taintkey:.Spec.Scales [*].Klucz, taintValue:.Spec.Scales [*].wartość, tainteffect:.Spec.Scales [*].efekt

Z powyższego wyjścia możemy zauważyć, że żaden podnośnik nie jest skażony domyślną instalacją Kubernetes, abyśmy mogli zmęczyć ten węzeł.

Krok # 3: Zakończenie węzła

Węzeł można zmęczyć za pomocą następującego polecenia:

kalsoom@kalsoom-virtualbox> kubectl skazania węzłów minikupe app = frontend: noschedule

Jak widać na wyjściu, węzeł „minikube” został skażony efektem „Noschedule” o nazwie kluczowej „aplikacja” o wartości „frontend”. Ograniczyło to kapsuły do ​​zaplanowania w węźle. Tak więc teraz nie można umieścić kapsułów w tym węźle, dopóki tolerancja nie zostanie zdefiniowana w stosunku do skazi.

Krok # 4: Zaplanuj kapsuły w węźle

W tym kroku spróbujemy zaplanować kapsułkę w węźle, który skażeliśmy w poprzednim kroku. Wdrażamy kapsuły na klastrze, który nie ma żadnej tolerancji zdefiniowanej w specyfikacji wdrażania aplikacji. Zobacz proces podany poniżej:

Krok # 4a: Utwórz przestrzeń nazw

Najpierw użyj podanego polecenia tutaj, aby utworzyć przestrzeń nazw:

kalsoom@kalsoom-virtualbox> kubectl stwórz NS Frontend

Krok # 4b: Uruchom plik Nginx w przestrzeni nazw

Teraz uruchom plik Nginx w przestrzeni nazw, którą właśnie stworzyliśmy, używając następującego polecenia:

kalsoom@kalsoom -virtualbox> kubectl run nginx -image = nginx -namespace frontend

Krok # 4C: Sprawdź status PODS

Teraz sprawdź status kapsuł, aby sprawdzić, czy są one zaplanowane na węzłach, czy nie. Ponieważ dla klastra nie ma tolerancji, kapsułkę nie należy zaplanować w żadnym węźle w klastrze. Sprawdźmy status kapsuł z poleceniem podanym poniżej:

kalsoom@kalsoom -virtualbox> kubectl get Pods -n Frontend

Status kapsuły jest „oczekujący”, co oznacza, że ​​nie został zaplanowany w żadnym węźle. Możemy potwierdzić, czy jest on zaplanowany w dowolnym węźle w klastrze, czy nie, sprawdzając zdarzenia za pomocą następującego polecenia:

kalsoom@kalsoom -virtualbox> kubectl get Events -n Frontend

Ze wyjścia widać, że żaden węzeł nie jest dostępny, na których można zaplanować, ponieważ dla węzłów nie ma tolerancji.

Wniosek

Nauczyliśmy się, jak korzystać z klar w węzłach Kubernetes. Badamy, czym jest skażenie i jaka funkcja wykonuje w środowisku Kubernetes. Nauczyliśmy się z tego artykułu, że tolerancja i skażenie idą w parze. Taints są zdefiniowane dla węzłów w specyfikacji węzła, podczas gdy tolerancja jest zdefiniowana dla podsów w specyfikacji POD. Scuchy ograniczają, że kapsuły mają być zaplanowane w węźle, podczas gdy tolerancja działa przeciwko skażeniu i pozwala na zaplanowanie podsum.