W tym artykule omówimy te kroki. Należy jednak pamiętać, że pośpiech ten proces może spowodować błędy i przestoje aplikacji. Teraz omówmy szczegółowo temat.
Jak usunąć kapsuły Kubernetes najłatwiejszy sposób?
Najpierw musisz wymienić kapsuły, aby usunąć post w najbardziej wydajny sposób. Możesz to zrobić, jeśli użyjesz polecenia GET PODS, które podano poniżej.
$ kubectl zdobądź kapsułki -o szerokieTutaj widać, że polecenie Get Pods wymienione w podsumowaniu ze szczegółami.
Teraz, jeśli usuniemy kapsuł. Wpisz następujące polecenie:
$ Kubectl delete POD-trzechPowyższe polecenie, w którym określiliśmy nazwę POD (POD-TREES) Usunęło POD z powodzeniem.
$ kubectl zdobądź kapsułki -o szerokieWymieniając wszystkie kapsuły, możesz potwierdzić, że ten, o którym mowa, został usunięty.
Jak możesz zweryfikować na powyższym zdjęciu, nie ma „kapsułki.'
Jak wymusić usunięcie kapsuł Kubernetes?
Dlaczego wymagane jest usunięcie siły kapsułki? Po przekroczeniu limitu czasu może utknąć w stanie zakończenia/nieznanym w nieosiągalnym węźle. Te statusy mogą również wystąpić, gdy użytkownik próbuje wdzięcznie usunąć kapsułkę z niedostępnego węzła. W niektórych sytuacjach możesz mocno usunąć/usunąć kapsułkę.
Niezależnie od tego, czy usunięcie siły jest skuteczne w niszczeniu kapsułki, nazwa zostanie natychmiast usunięta z apiserver. Umożliwiłoby to kontrolerowi Statefulset ustanowienie zastępującej kapsuły w tę samą tożsamość; Może to doprowadzić do powielania już działającego kapsuła, który, jeśli wspomniany podnośnik może nadal wchodzić w interakcje z innymi członkami Statefulset, naruszyłby tylko jedną semantykę, którą stworzył Statefuls.
Ręczne usunięcie siły musi być stosowane ostrożnie, ponieważ może to złamać przynajmniej jedną z semantyki statefulset. Statefulsets można używać do wykonywania aplikacji rozproszonych i klastrowanych, które wymagają spójnej tożsamości sieciowej i utrzymującego się przechowywania.
Konfiguracja tych aplikacji jest często oparta na zespole zawierającym z góry określoną liczbę członków o stałej tożsamości. Wielu członków dzielących te same tożsamości może być niebezpieczne i może skończyć w utraty danych.
Po usunięciu stadousu Statefulset Force upewnisz się, że nigdy nie będzie już komunikował się z innymi kapsułami w Statefulset i że jego tożsamość może być bezpiecznie uwolniona za wymianę.
Postępuj zgodnie z tymi procedurami, aby mocno zniszczyć kapsułkę za pomocą kubectl> = 1.5:
$ kubectl Usuń PODS-IMA-POD-HAGHER-PERIOD = 0-FORCEJeśli używasz kubectl> = 1.4, możesz pominąć argument -force i zamiast tego użyć:
$ kubectl Usuń PODS-IMA-POD-HAGHER-ARIOD = 0Teraz, używając powyżej, usuń POD „Podwójny”:
$ kubectl delete POD -W -W-FORce-Grave-okres = 0 --Namespace = domyślnieOto wynik powyższego polecenia po wykonaniu.
Należy pamiętać, że usunięcia Force POD nie opierają się na potwierdzeniu Kubeleta, że kapsuł.
Jeśli POD pozostaje w stanie nieznanym po uruchomieniu tych poleceń, użyj następującego polecenia, aby usunąć je z klastra:
$ Kubectl Patch POD PODWO -p '"Metadata": "finalizers": null' 'Sprawdź, czy kapsułka została usunięta.
Jak usunąć kapsuły z węzła jednocześnie?
Jeśli Twój węzeł ma jakieś nieistotne kapsuły lub stadoficzne, możesz skorzystać z polecenia Kubectl Drenag. Ten krok usunie wszystkie kapsuły z węzła. Przed postępem sprawdź dwukrotnie tożsamość usuwanego węzła i upewnij się, że kapsuły w określonym węźle mogą zostać bezpiecznie zakończone. Zadanie zostanie dla Ciebie wykonane z następującą instrukcją.
$ kubectl zdobądź węzłyPo poleceniu GET POD użyj następującego cytowanego polecenia podane poniżej.
Następnie spróbuj użyć następujących cytowanych instrukcji, aby spuścić wszystkie kapsuły.
$ kubectl DrenainAby upewnić się, że w węźle nadal nie działają żadne kapsuły, wykonaj polecenie GET PODS. Jeśli używasz noexecute do uruchamiania kapsułów, nadal będą w węźle.
Wykonaj polecenie drenażu jeszcze raz. Ale tym razem należy uwzględnić flagę. To wyeliminuje wszystkie kapsuły z węzła. Na koniec użyj polecenia Kubectl Usuń, aby usunąć węzeł z odpowiedniego klastra.
Jak pozwolić kapsułom z powrotem na węzły?
Po zakończeniu wykonywania konserwacji w węźle użyj polecenia Kubectl Uncordon, aby ponownie włączyć planowanie tego węzła. Następnie, gdy strąki będą dostępne do planowania, pojawią się ponownie w tym węźle.
$ Kubectl Uncordon Docker-DesktopJeśli masz nowo nieskordoniczny węzeł lub nowy węzeł w klastrze, równoważenie poszczególnych strąków może stanowić problem. Chociaż najlepiej jest pozwolić Kubernetes Scheduler przydzielić kapsuły w razie potrzeby po zmianie wdrożenia/statefulset, możesz wymusić proces, usuwając kapsuły i planując je gdzie indziej, stosując niektóre z wcześniejszych faz.
Wniosek
Może być konieczne usunięcie pojedynczego kapsuły lub wielu kapsuł z jednego z węzłów podczas wykonywania klastra Kubernetes. Istnieje możliwość, że może być konieczne rozwiązywanie problemów z trudnościami w węźle, zaktualizowanie określonego węzła lub zmniejszenie klastra. Chociaż usunięcie dowolnego kapsuły lub kapsuł z węzła nie jest zbyt trudne, istnieją kilka wskazówek i technik, których należy przestrzegać, aby zapewnić, że aplikacja/program nie jest zakłócony. O tym mówiliśmy i rozwinąliśmy w tym artykule. Przed wykonaniem jakichkolwiek instrukcji upewnij się, że dokładnie przeczytałeś i zrozumiesz każdy krok, aby uniknąć popełniania błędów, które mogą spowodować przestoje.