# K8s Tool Интерактивное консольное приложение для упрощения работы с kubectl. Предоставляет удобное меню с навигацией стрелками для выполнения рутинных операций с Kubernetes. ## Особенности - 🎯 Интерактивное меню с навигацией стрелками - 🎨 Красивый вывод с использованием Rich - 📦 Управление namespaces, deployments, pods, ConfigMaps - 🔄 Быстрый рестарт и масштабирование deployments - 📝 Просмотр логов pods - 🔍 Просмотр содержимого ConfigMaps ## Требования - Python 3.9+ - Poetry - kubectl настроенный для работы с кластером - Доступ к Kubernetes кластеру ## Установка 1. Клонируйте репозиторий: ```bash git clone cd k8s-tool ``` 2. Установите зависимости с помощью Poetry: ```bash poetry install ``` 3. Активируйте виртуальное окружение: ```bash poetry shell ``` 4. Установите приложение: ```bash poetry install ``` ## Использование Запустите приложение командой: ```bash k8s-tool ``` Или через Poetry: ```bash poetry run k8s-tool ``` ### Основные функции #### Выбор Namespace Выберите namespace для работы. Все последующие операции будут выполняться в выбранном namespace. #### Список Deployments Отображает все deployments в текущем namespace с информацией о: - Имени deployment - Количестве реплик - Доступных репликах - Готовых репликах Можно также просмотреть список pods для конкретного deployment. #### Рестарт Deployment Перезапускает выбранный deployment путём обновления аннотации `kubectl.kubernetes.io/restartedAt`. #### Масштабирование Deployment Изменяет количество реплик deployment. Введите желаемое количество реплик, и приложение выполнит масштабирование. #### Просмотр ConfigMaps Отображает список всех ConfigMaps в namespace с: - Именем ConfigMap - Списком ключей данных - Возрастом ConfigMap Можно выбрать ConfigMap для просмотра его содержимого с подсветкой синтаксиса. #### Просмотр логов Pod Выберите pod и контейнер (если их несколько) для просмотра логов. Можно указать количество строк для отображения (по умолчанию 100). ## Навигация - Используйте стрелки ↑/↓ для перемещения по меню - Enter для выбора опции - Ctrl+C для выхода из приложения ## Архитектура Проект состоит из двух основных модулей: - `k8s_client.py` - обёртка над Kubernetes Python API для работы с кластером - `main.py` - главное приложение с интерактивным меню ### Технологии - **questionary** - интерактивные промпты с навигацией стрелками - **kubernetes** - Python client для Kubernetes API - **rich** - красивый вывод в терминале с таблицами и подсветкой синтаксиса ## Разработка Для разработки: 1. Установите зависимости: ```bash poetry install ``` 2. Активируйте виртуальное окружение: ```bash poetry shell ``` 3. Запустите приложение: ```bash python -m k8s_tool.main ``` ## Лицензия MIT ## Автор vy.boyko