Czym jest mechanizm Priority Class w Kubernetes?¶
Polega to na tym, że nadajemy priorytet uruchomionym usługom. Czym większy priorytet, tym bardziej zależy Schedulerowi, aby aplikacja była uruchomiona. Priorytet ustalany jest w zakresie 1,000,000,000 do -2,147,473,648, im większa wartość, tym wyższy priorytet.
W momencie, gdy jest niewiele zasobów, a wdrażana jest aplikacja z wyższym priorytetem, te z niższym mogą być killowane przez Scheduler.
Info
Zasoby systemowe/Control Plane Kubernetes typu API Server mają priorytety w zakresie 1kkk do 2kkk.
Jak sprawdzić istniejące Priority Classes?¶
Sprawdzamy je z użyciem kubectl:
lub:
Czym jest Priority Class Default?¶
Jest to domyślna Priority Class w klastrze Kubernetes. Może być tylko jedna. Jeśli już jest stworzona, nie można jej nadpisać.
Jej zadaniem jest przypisywanie priorytetu każdemu nowo tworzonemu Podowi.
Definiujemy ją w manifeście nowo tworzonej Priority Class, w polu globalDefault dając mu wartość true.
Definicja Default Priority Class¶
Nazwa Priority Class to default-priority, z wartością priorytetu 100000.