Перейти к основному контенту

Утилиты командной строки

Назначение

Справочник по командам для эксплуатации Клавдия: доступ к базе данных, управление контейнерами, работа с журналами. Команды приведены для развёртываний 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

См. также