python的小型kubernetes客户机
tiny-kubernetes的Python项目详细描述
微小的kubernetes
tiny-kubernetes
在requests的顶部提供一个薄包装,使其
更容易使用kubernetes api。
功能
- 自动身份验证(
$KUBECONFIG
) - 由于 DotMap
- 理智的例外
- 不需要处理复杂的客户端api
为什么?
官方的kubernetes包,呃,很复杂。虽然它支持所有 kubernetes api提供的高级特性(如websocket流)就是 经常与非琐碎的工作。小库伯内特斯的目标是提供大部分相同的 最小开销的功能。
安装
pip install tiny-kubernetes
用法
fromtiny_kubernetesimportKubernetesAPIClientclient=KubernetesAPIClient()client.load_auto_config()pods=client.get('/api/v1/namespaces/{}/pods','default')forpodinpods['items']:printpod.metadata.name
注意,您可以(几乎)访问kubernetes api响应的所有部分
使用点访问器(由DotMap提供)。因为.items()
是保留名称
在字典中,需要更传统地访问它,但是大多数其他的
成员名可以使用缩写语法。
端点的格式使用^{json={...}
或url的主体
带params={...}
的参数。
一个特殊的^ {< CD9>}方法用于帮助执行补丁。它可以工作 一些潜在的自动请求错误。例如,它可以用来 将标签附加到资源:
client.json_patch([{'op':'add','path':'/metadata/labels/foo','value':'bar'}],'/api/v1/namespaces/{}/pods/{}','default','some-pod')
注释
- 如果使用本地
$KUBECONFIG
和 Base64编码证书。由于python的ssl库的限制,这些 必须解码并写入要使用的文件系统。他们应该是 当解释器退出时清理干净。