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 |