Диагностика Kubernetes
Сбор ограниченных диагностических данных и проверка точной неисправной цепочки без раскрытия секретов.
Краткий словарь
- Установка Helm (Helm release) — установленный и независимо управляемый набор ресурсов одного чарта.
- Объект Secret — ресурс Kubernetes для ссылок на конфиденциальные значения; поставочные чарты не владеют самими значениями.
- Запрос постоянного тома (PersistentVolumeClaim, PVC) — запрос хранилища для встроенного компонента данных.
- Сетевая политика (NetworkPolicy) — правила допустимых сетевых соединений модулей приложения.
- Интерфейс хранения контейнеров (Container Storage Interface, CSI) и сетевой интерфейс контейнеров (Container Network Interface, CNI) предоставляются кластером заказчика.
Диагностика и порядок действий при сбое
Начните с Helm status, состояния Pod/Job/PVC и Events в выбранном namespace. Читайте ограниченное окно журналов нужного контейнера; вывод может содержать персональные или инфраструктурные данные, поэтому проверяйте и редактируйте его локально перед отправкой.
- Ошибка values.schema.json или helm lint: исправьте конкретный путь в local values, не отключайте validation.
- HTTP 409 при скачивании: создайте лицензию; 403: нужна роль администратора; 503: проверенный release или активация недоступны — обратитесь к оператору MassAccess.
- Pending PVC: проверьте StorageClass, topology и capacity; не удаляйте рабочие PVC.
- CreateContainerConfigError/ImagePullBackOff: проверьте имена Secret, обязательные ключи, registry доступ и image digest без вывода credentials.
- NotReady: проверьте зависимости, DNS, CNI, TLS, ACL и Jobs миграций; открытый TCP-порт не доказывает readiness.
- После исправления повторите helm test, проверки UI/API/WebSocket и контрольные операции; сохраните только отредактированное evidence.
helm --kube-context "$MA_CONTEXT" status massaccess -n "$MA_NAMESPACE"
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" get pod,job,pvc
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" get events --sort-by=.metadata.creationTimestamp
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" describe pod <pod>
kubectl --context "$MA_CONTEXT" -n "$MA_NAMESPACE" logs <pod> -c <container> --since=10m --tail=100