Repolode
kr8s-org

kr8s-org/kr8s

Клиентская библиотека Python для Kubernetes с API, построенным по образцу kubectl, и синхронным и асинхронным интерфейсами (asyncio/trio).

Звёзды
1,001
Форки
71
Открытые issues
49
Последний коммит
6 дней назад

Что это?

kr8s — клиентская библиотека Python для Kubernetes. Её API построен по образцу kubectl, поэтому разработчики, знакомые с командами get, scale, label, cordon и exec, найдут аналогичные методы у классов Pod, Deployment, Node и других объектов — без необходимости осваивать новую терминологию.

Библиотека предлагает разумные настройки по умолчанию для аутентификации и конфигурации клиента, а также кэширует клиентов, поэтому объекты API не нужно передавать между функциями. Код написан вручную, а не сгенерирован из спецификаций Swagger, благодаря чему исходники остаются понятными. Доступны стандартный синхронный API и асинхронный API для asyncio и trio.

Помимо базовых операций CRUD, kr8s включает вспомогательные средства для распространённых задач: выполнения команд в pod, проброса портов в фоновой нити и создания простых описаний Pod из именованных аргументов. В проекте заявлена поддержка нескольких версий Python и недавних выпусков Kubernetes.

Ключевые возможности

  • 01Названия и семантика методов соответствуют kubectl, поэтому библиотеку легко освоить.
  • 02Поддерживаются синхронный и асинхронный API, совместимые с asyncio и trio.
  • 03Клиенты кэшируются, поэтому объекты API можно повторно использовать, не передавая клиент между вызовами.
  • 04Есть вспомогательные средства для выполнения команд в pod, проброса портов и перевода узла в режим cordon.
  • 05Код написан вручную, а не сгенерирован из Swagger.

Сценарии использования

  • Написание автоматизации на Python для масштабирования Deployment или добавления меток pod в кластере.
  • Создание контроллеров или сервисов на asyncio, взаимодействующих с Kubernetes API.
  • Замена shell-скриптов, запускающих kubectl, типизированным кодом на Python.

Быстрый старт

  1. 1

    Установите библиотеку из PyPI

    pip install kr8s
  2. 2

    Выведите список имен всех узлов в кластере

Что важно знать

  • Для выполнения полезных действий необходим доступ к кластеру Kubernetes.

Темы

Частые вопросы

Что такое kr8s?
Клиентская библиотека Python для Kubernetes с API, построенным по образцу kubectl, и синхронным и асинхронным интерфейсами (asyncio/trio). kr8s — клиентская библиотека Python для Kubernetes. Её API построен по образцу kubectl, поэтому разработчики, знакомые с командами get, scale, label, cordon и exec, найдут аналогичные методы у классов Pod, Deployment, Node и других объектов — без необходимости осваивать новую терминологию.
kr8s можно использовать бесплатно? Какая у него лицензия?
kr8s распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
kr8s всё ещё поддерживается?
Активно поддерживается. Последний коммит в kr8s — 14 окт. 2026 г..
Для чего можно использовать kr8s?
Написание автоматизации на Python для масштабирования Deployment или добавления меток pod в кластере. Создание контроллеров или сервисов на asyncio, взаимодействующих с Kubernetes API. Замена shell-скриптов, запускающих kubectl, типизированным кодом на Python.
Как установить kr8s?
Установите библиотеку из PyPI: pip install kr8s Выведите список имен всех узлов в кластере
Где скачать kr8s?
Исходный код и инструкции по установке — на GitHub: https://github.com/kr8s-org/kr8s

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.

103,3 тыс.10,1 тыс.PythonMITОбновлён 16 часов назад