基于 Kubernetes 的开源云平台,用于将服务器组建成自有云,提供集群、数据库、虚拟机等服务的 REST API。
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
从 PyPI 安装该库
pip install kr8s - 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 数据每日更新。
相关项目
2362215GoApache-2.0更新于 16小时前
基于 Tauri 与 Rust 构建的跨平台桌面 Kubernetes 客户端,读取 kubeconfig 并按 kubectl 的方式推导资源状态。
1012TypeScriptGPL-3.0更新于 4天前
基于标准 Python 类型提示构建 API 的 Python Web 框架,内置数据校验与自动生成的交互式文档。
10.3万1万PythonMIT更新于 18小时前
一个 Python 测试框架,写小型测试简单,也能支撑应用和库的复杂功能测试。
1.5万3517PythonMIT更新于 昨天
基于 PEP 621、PEP 517 标准的现代 Python 包与依赖管理工具,支持虚拟环境与锁文件。
8662501PythonMIT更新于 昨天
基于 Python 和 Django 的开源库存管理系统,提供库存控制、零件追踪、REST API 和插件扩展。
77331590PythonMIT更新于 15小时前