python的小型kubernetes客户机

tiny-kubernetes的Python项目详细描述


微小的kubernetes

tiny-kubernetesrequests的顶部提供一个薄包装,使其 更容易使用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库的限制,这些 必须解码并写入要使用的文件系统。他们应该是 当解释器退出时清理干净。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java静态键入和编写一个简单的矩阵库   java如何最小化层次结构的代码量   这是在Google云数据存储中使用Java按键查询的正确方法吗?   java Android php+mysql+json执行异步任务时出错   java Hadoop Hbase访问被拒绝异常   java如何在json中指定特定的对象路径   JavaSpringJPA/Hibernate在使用@modify和@Query进行特殊更新之前调用完整更新   java多个错误通知   java插入Linkedlist和Node   java将图像放在webview中并调整其宽度   Java没有真实属性的缺点是什么?   java“isGooglePlayServicesAvailable”(此)已被弃用   java托管HIPPO CMS   安卓 Java。网URI构造函数不是编码字符(&C)   java如何用hibernate映射Deque?   java传递枚举类型作为参数   java自由堆大小在Maven中不会增加   java如何使用hashmap和arraylist的循环逻辑?   java如何使用JDBC复制MySql数据库