Ответ
Размер узла в Kubernetes определяется его ресурсами: CPU, памятью (RAM) и иногда ephemeral storage. Для получения этой информации я использую несколько команд kubectl.
Основные команды:
-
kubectl describe node <node-name>Показывает детальную информацию. Ключевые разделы:Capacity: Общие физические ресурсы узла.Allocatable: Ресурсы, доступные для планирования подов (за вычетом системных резервов).
kubectl describe node node-01 | grep -A 5 -B 2 "Capacity|Allocatable" -
kubectl get node <node-name> -o jsonПозволяет программно извлечь точные значения с помощьюjq.kubectl get node node-01 -o json | jq '.status.capacity' # Вывод: {"cpu":"4","memory":"16302152Ki","pods":"110"} -
kubectl top nodeПоказывает текущее (реальное) использование ресурсов, а не лимиты. Требует установленного и запущенногоmetrics-serverв кластере.kubectl top node node-01 # NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% # node-01 410m 10% 2456Mi 15%
Практический пример анализа:
Если узел имеет capacity.cpu: "4", это означает 4 ядра CPU. Память 16302152Ki нужно перевести в гигабайты: 16302152 / 1024 / 1024 ≈ 15.5 GiB. Эти цифры критичны для понимания, сколько рабочих нагрузок можно разместить на узле.