「13.Developing Kubernetes」

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)网站安装此模块:

# pip install kubernetes

通过默认的 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