Repolode
kr8s-org

kr8s-org/kr8s

一个 Python Kubernetes 客户端库,API 风格贴近 kubectl,同时提供同步和异步接口。

Star
1,001
Fork
71
未关闭 Issue
49
最近提交
6天前

这是什么?

kr8s 是一个 Python Kubernetes 客户端库,API 设计参考了 kubectl。熟悉 get、scale、label、cordon、exec 等命令的开发者,可以在 Pod、Deployment、Node 等对象类上找到对应方法,无需学习新的概念体系。

库内置合理的认证与客户端默认配置,并会缓存客户端,减少在函数间传递 API 对象的麻烦。代码为手写而非由 Swagger 生成,可读性较好。同时提供标准同步接口和可配合 asyncio、trio 使用的异步接口。

除基础的增删改查外,kr8s 还提供 Pod exec、后台线程端口转发、通过关键字参数快速生成 Pod 定义等常用操作的辅助方法。项目声明支持多个 Python 版本和较新的 Kubernetes 版本。

核心功能

  • 01方法名与语义沿用 kubectl,上手成本低。
  • 02同时提供同步与异步接口,支持 asyncio 和 trio。
  • 03缓存客户端,API 对象可以复用而无需层层传递客户端。
  • 04内置 Pod exec、端口转发、节点 cordon 等辅助方法。
  • 05代码手写而非由 Swagger 生成,便于阅读和维护。

适用场景

  • 编写 Python 自动化脚本,对集群中的 Deployment 进行扩缩容或为 Pod 打标签。
  • 构建基于 asyncio 的控制器或服务,与 Kubernetes API 交互。
  • 将调用 kubectl 的 shell 脚本替换为结构清晰的 Python 代码。

快速上手

  1. 1

    从 PyPI 安装该库

    pip install kr8s
  2. 2

    列出集群中所有节点名称

使用前须知

  • 需要能够访问 Kubernetes 集群才能发挥作用。

标签

常见问题

kr8s 是什么?
一个 Python Kubernetes 客户端库,API 风格贴近 kubectl,同时提供同步和异步接口。 kr8s 是一个 Python Kubernetes 客户端库,API 设计参考了 kubectl。熟悉 get、scale、label、cordon、exec 等命令的开发者,可以在 Pod、Deployment、Node 等对象类上找到对应方法,无需学习新的概念体系。
kr8s 可以免费使用吗?用的什么许可证?
kr8s 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
kr8s 还在维护吗?
活跃维护中。kr8s 最近一次提交是在 2026年10月14日。
kr8s 适合用来做什么?
编写 Python 自动化脚本,对集群中的 Deployment 进行扩缩容或为 Pod 打标签。 构建基于 asyncio 的控制器或服务,与 Kubernetes API 交互。 将调用 kubectl 的 shell 脚本替换为结构清晰的 Python 代码。
kr8s 怎么安装和运行?
从 PyPI 安装该库: pip install kr8s 列出集群中所有节点名称
在哪里获取 kr8s?
源代码和安装说明在 GitHub 上:https://github.com/kr8s-org/kr8s

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目