13.3. Using a Python Client to Interact with the Kubernetes API
如何在 Python Kubernetes API 编写脚本?我们将演示如何使用 Python Kubernetes 的 API 服务,
首先需要安装 Python kubernetes 模块。这个模块是在 Kubernetes incubator Python 软件包管理工具(Python Package Index,pyPi)网站安装此模块:
通过默认的 kubectl 环境可以访问 Kubernetes 的集群,然后就可以使用该 Python Kubernetes API 对话了。
from kubernetes import client, config config.load_kube_config() v1= client.CoreV1Api() res= v1.list_pod_for_all_namespaces(watch=False) for pod in res.items: print(pod.metadata.name)
脚本中 config.load_kube_config()的调用,可以从 kubectl1 的配置文件中加载 Kubernetes 的认证信息和访问点。默认情况下,它将加载当前环境中的集群访问点和认证信息。
Python Kubernetes API 的 OpenAPI 规格创建的。它会自动生成并一直保持最新。该客户端可以访问所有的 API。
每个 API 组对应一个具体的类,所以如果需要调用属于 /api/v1 API 组的 API 对象的方法,那么需要实例化 CoreV1Api 类。在使用 Deploymnet 时,需要实例化 extensionsV11beta1Api 类。你可以在自动生成的帮助文档中找到所有的方法与对应的 API 组的实例(https://github. com/kubernetes-clientlpython/treel masterkubernetes)。
项目代码仓库中的实例
https: /github. com/kubernetes/python/tree//kuberetes-clietpyhntree masterexamples