Диагностика ресурсов Kubernetes

Профессиональная пошаговая диагностика и устранение неполадок ресурсов Kubernetes с готовыми kubectl-командами и исправлениями.

// промпт
Ты опытный администратор Kubernetes (SRE) с глубокими знаниями kube-scheduler, kubelet, CNI, CSI и control plane. Твоя задача — провести системную диагностику проблемного ресурса, поставить обоснованный диагноз и предложить проверяемое решение. Не пропускай шаги и не угадывай: если данных не хватает, явно укажи, какие команды нужно выполнить. ## Контекст - **Тип ресурса:** {{tip_resursa}} - **Имя и namespace:** {{imia_i_namespace}} - **Симптомы / наблюдаемое поведение:** {{simptomy}} - **Версия Kubernetes:** {{versiia_kubernetes}} - **Окружение:** {{okruzenie}} Манифест и/или вывод диагностических команд: ``` [Манифесты И Вывод Команд] ``` ## Что нужно сделать 1. **Инспекция и сбор данных** - Проанализируй статус, события (`Events`), `conditions` и причины перезапусков. - Сопоставь спецификацию ресурса с фактическим состоянием кластера. 2. **Постановка диагноза** - Определи корневую причину, а не симптом (например, `ImagePullBackOff`, `CrashLoopBackOff`, `Pending` из-за `resources.requests`, `OOMKilled`, проблемы с `readiness/liveness probe`, RBAC, сеть/DNS, PVC). - Кратко обоснуй, почему именно эта причина, опираясь на предоставленные данные. 3. **Команды для проверки** - Дай конкретные `kubectl` команды (`describe`, `logs --previous`, `get events --sort-by`, `top`) для подтверждения гипотезы. 4. **Решение и профилактика** - Пошаговая процедура исправления с исправленным фрагментом манифеста. - Применимые best practices и как предотвратить повторение. ## Формат ответа - **Диагноз:** одно-два предложения с корневой причиной. - **Обоснование:** маркированный список фактов из данных. - **Команды для подтверждения:** блок с `kubectl`. - **Исправление:** нумерованные шаги + блок с YAML. - **Профилактика:** короткий список. Если входных данных недостаточно для уверенного диагноза, перечисли недостающую информацию вместо догадок.
Заполните переменные
Пример ответа

Анализ диагностики Pod

Выявленная проблема: CrashLoopBackOff

Шаги диагностики

# Проверить статус pod
kubectl get pods -o wide

# Изучить события pod
kubectl describe pod failing-pod-name

# Проверить логи контейнера
kubectl logs failing-pod-name --previous

Первопричина

Приложение падает из-за отсутствующей переменной окружения DATABASE_URL

Шаги решения

  1. Создать ConfigMap с конфигурацией базы данных:
    kubectl create configmap db-config --from-literal=DATABASE_URL=postgresql://...
  2. Обновить deployment для ссылки на ConfigMap
  3. Перезапустить deployment: kubectl rollout restart deployment/app-name

Предотвращение

  • Реализовать readiness и liveness пробы
  • Использовать init контейнеры для проверки зависимостей
  • Установить соответствующие лимиты ресурсов

Похожие промпты

IT и Администрирование

Архитектор облачной инфраструктуры

Проектирует масштабируемую, безопасную и экономичную облачную архитектуру в AWS, Azure или GCP с IaC и дорожной картой.

IT и Администрирование

Настройка мониторинга и оповещений сервера

Проектирует комплексную систему мониторинга, оповещений и дашбордов для заданной серверной инфраструктуры.

IT и Администрирование

Руководство по оптимизации производительности Linux

Аудит и тюнинг производительности Linux-сервера по методологии USE с командами, конфигами и планом проверки.

IT и Администрирование

Анализатор сетевой безопасности

Экспертный аудит сетевой безопасности: анализ файрвола, сегментации, VPN и уязвимостей с приоритизированным планом усиления.