| etcd диск | etcd очень чувствителен к дисковым операциям ввода-вывода в крупных кластерах. | Используйте выделенный NVMe SSD для директории данных etcd. |
| Размер БД etcd | Базы данных размером более ~8 ГБ значительно ухудшают задержки, использование ресурсов и время восстановления. | Поддерживайте размер БД etcd ≤ 8 ГБ; удаляйте неиспользуемые объекты и держите часто обновляемые объекты небольшими (~≤100 КБ). |
| Частая смена ключей в etcd | Высокая частота чтения/записи по ключам нагружает etcd. | Анализируйте метрики etcd для выявления и снижения количества "горячих" ключей. |
| Размер данных по типу ресурса в etcd | Большие объемы данных по типу ресурса делают операции полного списка дорогими и могут блокировать контроллеры. | Поддерживайте общий объем данных по каждому типу ресурса ≤ 800 МБ; очищайте неиспользуемые Deployments/Services. 1 |
| Пропускная способность и подключения LB API-сервера | Ограничения пропускной способности или количества подключений балансировщика нагрузки могут привести к состоянию NotReady у узлов. | Мониторьте и заранее обеспечивайте балансировщик нагрузки API-сервера. |
| Сервисы на namespace | Большое количество Services вызывает большое внедрение переменных окружения в Pods и замедляет запуск. | Поддерживайте количество Services на namespace < 5,000 или установите enableServiceLinks: false. 2 |
| Общее количество Services в кластере | Избыточное количество Services увеличивает правила kube-proxy и ухудшает производительность. | Поддерживайте общее количество Services < 10,000 и удаляйте неиспользуемые. 1 |
| CoreDNS | Большое количество Pod может ухудшать производительность CoreDNS. | Запускайте NodeLocal DNSCache (nodelocaldns). |
| Частота обновления Pod | Высокая частота обновлений вызывает распространение изменений Endpoint/EndpointSlice на все узлы и может вызывать "штормы". | Снижайте churn Pod; для RollingUpdate устанавливайте консервативные значения maxUnavailable/maxSurge. |
| Монтирование токенов ServiceAccount | Каждый Secret токена может создавать watch; большое количество watch нагружает control plane. | Для Pod, которым не нужен доступ к API, установите automountServiceAccountToken: false. 3 |
| Количество/размер объектов | Накопленные ConfigMaps, Secrets, PVC и др. увеличивают нагрузку на control-plane. | Ограничивайте историю ReplicaSet (revisionHistoryLimit) и используйте ttlSecondsAfterFinished для Jobs/CronJobs. |
| Запросы/лимиты Pod | Большие разрывы между запросами и лимитами могут вызвать каскадные сбои при потере узла. | По возможности устанавливайте запросы равными лимитам. |
| Перезапуски контроллеров и мониторинг | Перезапуски контроллеров или API-сервера вызывают повторные списки, которые могут перегрузить API-сервер. | Мониторьте контроллеры, задавайте адекватные ресурсы для предотвращения перезапусков и снижайте ненужные операции control-plane. |