Диагностика и устранение неполадок
В состав Stackland входит специализированный инструмент для сбора диагностической информации о состоянии кластера. sladm diag — утилита командной строки для Ubuntu 22.04 или аналогичного дистрибутива Linux. Как правило, sladm diag запускается с того же хоста, с которого выполнялось развертывание кластера Stackland.
В процессе своей работы sladm diag формирует архив, содержащий журнальные файлы инсталлятора, основных компонентов Stackland, а также ключевых ресурсов Kubernetes. Чувствительные данные не включаются в архив либо, если их присутствие необходимо для сохранения структурной целостности, заменяются строкой <redacted> (PHJlZGFjdGVkPg== в кодировке base64). Пользователь всегда может просмотреть содержимое архива и убедиться, что его отправка разработчикам Stackland допустима с точки зрения политик и регламентов, принятых в компании.
Порядок сбора диагностики
Для запуска диагностики перейдите в папку, откуда осуществлялась установка Stackland. Убедитесь, что утилита sladm доступна, и наберите:
sladm diag
Процесс сбора информации занимает несколько минут. По завершении в текущем каталоге будет создан архив diagnostics-YYYYMMDD-HHMMSS.tar.gz, который следует отправить разработчикам.
Если sladm diag запускается не из папки, откуда выполнялась установка, укажите путь до выходных артефактов инсталлятора (папка _out) и журнальных файлов sladm:
sladm diag \
--artifacts-dir /path/to/_out \
--install-log /path/to/install.log
В отдельных случаях разработчики Stackland могут попросить собрать диагностику с дополнительных пространств имен Kubernetes. В этом случае добавьте ключ --addns (может повторяться несколько раз):
sladm diag \
--addns some-namespace \
--addns some-other-namespace
Имя выходного архива с диагностикой можно менять при помощи ключа --output:
sladm diag \
--artifacts-dir /path/to/_out \
--install-log /path/to/install.log \
--output my-stackland-cluster.tar.gz
Архив с диагностикой будет собран даже в том случае, если сбор сведений завершился с ошибкой. В этом случае sladm diag напечатает соответствующее уведомление. Свяжитесь с разработчиком для уточнения дальнейших действий.
Доступ к talosctl для продвинутой диагностики
Внимание
talosctl — это нештатный механизм доступа к узлам кластера, который не предназначен для обычной эксплуатации. Неправильное использование talosctl может привести к нарушению работы кластера или потере данных.
Используйте talosctl только для продвинутой диагностики проблем и только если вы понимаете последствия выполняемых команд.
Где находится talosconfig
После успешной установки Stackland административный конфигурационный файл talosconfig создается автоматически и сохраняется в директории инсталлятора на бастионе:
_out/talosconfig
Этот файл содержит учетные данные для доступа к узлам кластера через talosctl.
Базовое использование talosctl
Загрузите утилиту talosctl с сайта проекта
Для работы с кластером укажите путь к конфигурационному файлу:
export TALOSCONFIG=_out/talosconfig
_out/bin/talosctl --nodes <IP-адрес узла> <команда>
Примеры команд для диагностики:
-
Просмотр логов системных сервисов:
_out/bin/talosctl --nodes 192.168.22.2 logs kubelet -
Проверка состояния узла:
_out/bin/talosctl --nodes 192.168.22.2 health -
Просмотр списка запущенных сервисов:
_out/bin/talosctl --nodes 192.168.22.2 services -
Получение информации о дисках:
_out/bin/talosctl --nodes 192.168.22.2 disks
Полный список команд и их описание доступен в официальной документации Talos
Ограничения и риски
При использовании talosctl учитывайте следующее:
- Прямое изменение конфигурации узлов через
talosctlможет привести к рассинхронизации с состоянием кластера Stackland. - Некоторые операции (например, перезагрузка узлов или изменение сетевых настроек) могут временно нарушить доступность сервисов.
- Используйте
talosctlтолько для получения информации или точечных правок настроек командойtalosctl mc patch. Вы выведете из строя кластер и потеряете данные, используя другие пишущие команды. - Доступ к
talosconfigдолжен быть ограничен, так как он предоставляет полный административный доступ к узлам кластера.
Для штатной эксплуатации кластера используйте kubectl и другие стандартные инструменты Kubernetes.