Eviction
Eviction beendet einen oder mehrere Prozesse im Cluster
Die Eviction (deutsch: Vertreibung) ist der Prozess der Beendigung eines oder mehrerer Pods auf Nodes im Kubernetes-Cluster.
Es gibt zwei Arten von Evictions:
Node Pressure Eviction: Diese Art der Vertreibung tritt auf, wenn ein Node aufgrund von Ressourcenknappheit, wie beispielsweise unzureichendem Speicher oder CPU-Auslastung, unter Druck gerät. In solchen Fällen kann Kubernetes entscheiden, bestimmte Pods von diesem Node zu vertreiben, um die Verfügbarkeit und Leistung des Clusters sicherzustellen.
API Initated Eviction: Dies ist der Prozess, bei dem Sie die Eviction-API verwenden, um ein Eviction-Objekt zu erstellen, das die Graceful Pod-Terminierung auslöst. Dies kann durch direkten Aufruf der Eviction-API mithilfe eines Clients des kube-apiservers wie dem kubectl drain-Befehl erfolgen. Wenn ein Eviction-Objekt erstellt wird, beendet der API-Server den Pod.
Es ist wichtig anzumerken, dass API-initiierte Vertreibungen Ihre konfigurierten Pod Disruption Budgets und terminationGracePeriodSeconds respektieren.
API initiated Eviction ist nicht dasselbe wie Node Pressure Eviction. Während Node-Druck-Eviction auftritt, wenn NodesRessourcenknappheit erfahren, werden API-initiierte Eviction-Objekte manuell durch die Kubernetes-API ausgelöst, um Pods gezielt zu beenden, beispielsweise im Rahmen von Wartungsarbeiten oder bei der Skalierung von Ressourcen.
Link zum offiziellen Glossar