Kubernetes API的评论性界面
项目描述
针对Kubernetes API的评论性Python接口
本包提供了一种Pythonic接口,用于在Python代码中使用Kubernetes API。它是手工制作的,有观点性的,旨在隐藏原始API的边缘情况和繁琐部分,这些部分会被使用swagger定义的客户端所暴露。
本包尚未完成,当前的主要功能包括
- 主要资源封装 - 节点 
- 命名空间 
- Pod 
- 副本集/复制控制器 
- 服务 
- 机密 
 
- 良好的标签支持 
- 对WATCH API的阻塞和非阻塞支持。 
- 查询、创建和删除资源。 
- 低级API,可以直接使用Kubernetes API。 
- 无需真实集群即可编写测试 
我们正在开发以下功能
- 修改副本集:例如,更改副本数量,更改选择器。 
- 修改资源。 
- 创建新的资源项。 
- 删除资源项。 
安装
pip install kube
使用方法
要使用API,必须对Kubernetes apiserver进行身份验证。目前仅支持使用kubectl在代理模式下推荐的方法。只需在本地主机上运行kubectl proxy即可建立连接。在集群本身运行时,可以通过在同一个pod中的另一个容器中运行kubectl proxy来轻松实现。
与Kubernetes集群交互的中心对象是Cluster对象
import kube
cluster = kube.Cluster()
rs = cluster.replicasets.fetch('proxy', namespace='default')
pods = cluster.pods.filter(labels=rs.meta.labels,
                           filter={'metadata.namespace': 'default'})
for pod in pods:
   assert pod.phase is pod.PodPhase.Running
文档
kube库的文档详尽,请参阅http://python-kube.readthedocs.io。
贡献
项目仍处于早期阶段,欢迎提交建议、问题或拉取请求。请访问https://bitbucket.org/cobeio/kube。所有反馈均受欢迎。
开发依赖项
在开发kube时,您将需要一些额外的依赖项
- pytest 
- pytest-cov 
- pylint 
- invoke 
测试Kube
测试可以以两种方式运行:使用模拟的API服务器(默认),或针对真实Kubernetes集群。前者运行非常快,不会对真实集群造成任何干扰。后者运行较慢,但可以用来验证代码在真实Kubernetes集群中的行为是否正确。再次强调,默认情况下,测试将使用模拟的apiserver。要针对真实集群执行测试,请使用py.test --verify <kubectl-context>调用它们。测试将尽量不破坏您的集群或留下任何测试后的工件,但我们建议使用<kubectl-context>引用测试集群。
许可证
Kube在LGPLv3许可下可用,允许您在不受您选择的许可(无论是专有还是开源)影响的情况下使用它,同时保持kube本身为免费软件。
项目详情
kube-0.10.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a3eadf3d21f9502f1112740b57e5d1f87630072ba9701ef9da3af348a48964c9 | |
| MD5 | bc9db217a09d1c7fec2f88c9b363fc3f | |
| BLAKE2b-256 | 856a687af199eb014ea795c6ddc166baadd965d407b46d15e9bccaccc665d158 |