Утилиты командной строки
Назначение
Справочник по командам для эксплуатации Клавдия: доступ к базе данных, управление контейнерами, работа с журналами. Команды приведены для развёртываний docker-compose и Kubernetes.
klvd-psql — доступ к базе данных
Утилита klvd-psql открывает диалог SQL с базой данных Клавдия. Работает как с локальной, так и с внешней базой данных.
Запуск
klvd-psql # интерактивный диалог SQL
klvd-psql -c "SELECT 1" # выполнить один запрос
klvd-psql -f script.sql # выполнить файл скрипта
klvd-psql < script.sql # то же через перенаправление ввода
Утилита определяет режим подключения автоматически: если контейнер
klvd_postgresзапущен — подключается к локальной базе; если нет — запускает временный контейнер с клиентомpsqlи подключается к внешней базе по параметрам из.env. При необходимости образ клиента вытягивается автоматически.
Где установлена
- При установке через
install.sh— в папке установки (/opt/klvd/klvd-psql) и в/usr/local/bin/klvd-psql(символическая ссылка). - Kubernetes — недоступна как отдельная утилита; используйте
kubectl exec(см. ниже).
Подробно о
klvd-psql— см. Установка →klvd-psql.
Управление контейнерами (docker-compose)
Команды выполняются из папки установки (где лежит docker-compose.yml):
cd /opt/klvd
Состояние и журналы
docker compose ps # состояние контейнеров
docker logs klvd-node --tail 100 -f # журнал узла (последние 100 строк, режим слежения)
docker logs klvd-solr --tail 100 # журнал Solr
docker logs klvd_postgres --tail 100 # журнал PostgreSQL
docker logs klvd-zookeeper --tail 50 # журнал ZooKeeper
Запуск и остановка
docker compose up -d # запустить все контейнеры (в фоне)
docker compose down # остановить все контейнеры
docker compose restart klvd-node # перезапустить только узел
docker compose restart klvd-solr # перезапустить Solr (применит новый сертификат)
Пересоздание контейнера
docker compose up -d --force-recreate klvd-node # пересоздать узел (после изменения .env)
Управление образами
docker images | grep klvd # список образов Клавдия
docker image prune -a -f # удалить неиспользуемые образы (после обновления)
Управление в Kubernetes
Состояние и журналы
kubectl get pods -n klvd # состояние подов
kubectl logs -n klvd statefulset/klvd-node --tail 100 -f # журнал узла
kubectl logs -n klvd <имя-пода> --tail 100 # журнал конкретного пода
kubectl describe pod -n klvd <имя-пода> # детали пода (события, ошибки)
Доступ к контейнеру
kubectl exec -n klvd -it statefulset/klvd-node -- bash # оболочка в поде узла
Управление
kubectl rollout restart statefulset/klvd-node -n klvd # перезапуск узла (rolling)
kubectl scale statefulset/klvd-node -n klvd --replicas=3 # масштабирование
helm list -n klvd # список релизов
helm upgrade klvd oci://registry-ru-2.afi-d.ru/afi/klvd/charts/klvd-node \
-n klvd --version <ВЕРСИЯ> -f values.yaml # обновление
helm rollback klvd <РЕВИЗИЯ> -n klvd # откат
Проброс порта веб-интерфейса
kubectl port-forward -n klvd svc/klvd-node-wui 8001:8001 # доступ к WUI через localhost
Журналы приложения
Журналы узла Клавдия ведутся по уровням в папке logs/ (docker-compose) или в стандартный вывод (Kubernetes).
# docker-compose: найти ошибки за сегодня
grep '#ERROR_KLVD_' /opt/klvd/logs/ERROR_$(date +%Y_%m_%d).txt
# Kubernetes: найти ошибки
kubectl logs -n klvd statefulset/klvd-node 2>&1 | grep '#ERROR_KLVD_'
# Найти предупреждения
grep '#WARN_KLVD_' /opt/klvd/logs/WARNING_$(date +%Y_%m_%d).txt
Ротация журналов автоматическая: файлы старше 48 часов удаляются. Журнал обновления (
update.log) не ротируется — очищайте вручную при необходимости. См. Диагностика проблем.
Обновление
cd /opt/klvd
bash update.sh --sync # обновить узел (скачать свежий скрипт + обновить образы)
bash update.sh --help # справка по командам
cat update.log # журнал последнего обновления
Диагностика сети
# Проверить доступность реестра образов
curl -I https://registry-ru-2.afi-d.ru/v2/
# Проверить доступность Solr
curl -k https://127.0.0.1:8983/solr/admin/cores?action=STATUS
# Проверить порт веб-интерфейса
curl -k https://127.0.0.1:8001/
# Проверить порт хранилища
curl -k https://127.0.0.1:8444/test
См. также
- Диагностика проблем — журналы и ротация
- Обновление системы — update.sh
- Конфигурация: .env и docker-compose — переменные и compose