У docker и kubectl столько подкоманд, что сторонние тулы (k9s, lazydocker, dive) живут как раз тем, что позволяют не вспоминать CLI. CliAI позволяет остаться в CLI и не платить налог на воспоминание.
Docker
1. Логи контейнера по имени
clai
$ clai последние 100 строк логов контейнера api в follow→ docker logs --tail 100 -f api
2. Удалить dangling-образы
clai
$ clai удали все dangling-образы docker→ docker image prune -fTotal reclaimed space: 1.2GB
3. Куда уходит место docker'а
clai
$ clai сколько места занимает docker и где→ docker system df -v
4. Войти в работающий контейнер web
clai
$ clai зайди в shell внутрь работающего контейнера web→ docker exec -it $(docker ps -qf name=web) sh
Kubernetes
5. Поды, не находящиеся в Running
clai
$ clai покажи поды в namespace staging не в статусе Running→ kubectl -n staging get pods --field-selector=status.phase!=RunningNAME READY STATUS RESTARTS AGEapi-7d8f-xyz 0/1 CrashLoopBackOff 12 18m
6. Логи всех подов деплоймента
clai
$ clai стрим логов всех подов деплоймента api в staging→ kubectl -n staging logs -l app=api --all-containers --tail=50 -f
7. Топ потребителей памяти в кластере
clai
$ clai какие 10 подов в кластере используют больше всего памяти→ kubectl top pods -A --sort-by=memory | head -11
8. Перезапуск деплоймента без смены образа
clai
$ clai сделай rolling restart деплоймента api в staging→ kubectl -n staging rollout restart deployment/apideployment.apps/api restarted
Эта команда вечно ставит в тупик — не kubectl restart, а rollout restart. CliAI это знает; вам не обязательно.
См. также
- Сетевая диагностика — когда проблема в сети кластера.
- Чистка логов и бэкапов — та же тема, другая поверхность.