在现代云原生开发中,Kubernetes(简称 K8s)已成为容器编排的事实标准。而如果你是一名 Python 开发者,想要通过代码自动化地管理你的 Kubernetes 集群,那么 Kubernetes Python 客户端(kubernetes-client)就是你不可或缺的工具。
本教程将手把手教你如何安装、配置并使用 Kubernetes Python 客户端,即使你是零基础的小白,也能轻松上手!我们将涵盖认证方式、基本操作(如列出 Pod、创建 Deployment)等核心功能。

Kubernetes Python 客户端 是由 Kubernetes 官方维护的 Python 库,它封装了 Kubernetes API,让你能用熟悉的 Python 语法与集群交互。你可以用它来:
首先,确保你已安装 Python(建议 3.6+)。然后使用 pip 安装官方客户端库:
pip install kubernetesKubernetes Python 客户端支持多种认证方式。最常见的是使用本地的 kubeconfig 文件(通常位于 ~/.kube/config)。如果你已经能用 kubectl 命令操作集群,说明配置已经就绪。
在 Python 中加载配置非常简单:
from kubernetes import config# 自动加载 ~/.kube/configconfig.load_kube_config()如果你在 Pod 内运行(例如在集群内部部署的 Python 应用),则应使用 ServiceAccount 的 in-cluster 配置:
from kubernetes import config# 使用 in-cluster 配置config.load_incluster_config()下面是一个完整的示例,展示如何使用 Python 操作 K8s 来获取集群中所有 Pod 的名称和状态:
from kubernetes import client, config# 加载 kubeconfigconfig.load_kube_config()# 创建 CoreV1Api 实例v1 = client.CoreV1Api()# 获取所有命名空间的 Pod 列表ret = v1.list_pod_for_all_namespaces(watch=False)print("NAMESPACE\t\tNAME\t\tSTATUS")for i in ret.items: print(f"{i.metadata.namespace}\t\t{i.metadata.name}\t\t{i.status.phase}")运行这段代码,你将看到类似如下输出:
NAMESPACE NAME STATUSkube-system coredns-5d78c9869d-abcde Runningdefault my-app-7b8c9d6f5-xyz12 Running除了读取资源,你还可以用 kubernetes-client 教程 中的方法创建资源。以下代码创建一个简单的 Nginx Deployment:
from kubernetes import client, configfrom kubernetes.client.rest import ApiExceptionconfig.load_kube_config()apps_v1 = client.AppsV1Api()# 定义 Deployment 对象deployment = client.V1Deployment( metadata=client.V1ObjectMeta(name="nginx-deployment"), spec=client.V1DeploymentSpec( replicas=2, selector=client.V1LabelSelector( match_labels={"app": "nginx"} ), template=client.V1PodTemplateSpec( metadata=client.V1ObjectMeta(labels={"app": "nginx"}), spec=client.V1PodSpec( containers=[ client.V1Container( name="nginx", image="nginx:1.21", ports=[client.V1ContainerPort(container_port=80)] ) ] ) ) ))# 创建 Deploymenttry: apps_v1.create_namespaced_deployment( namespace="default", body=deployment ) print("Deployment created successfully!")except ApiException as e: print(f"Exception when creating deployment: {e}")client.configuration.debug = True 查看原始 HTTP 请求。通过本教程,你应该已经掌握了如何使用 Kubernetes Python 客户端 连接集群、查询资源和创建应用。无论是用于 DevOps 自动化、监控脚本还是 CI/CD 流水线,这个库都能极大提升你的效率。
记住,官方文档(https://github.com/kubernetes-client/python)是你最好的朋友。快去动手试试吧!
关键词:Kubernetes Python客户端, Kubernetes API, Python操作K8s, kubernetes-client教程
本文由主机测评网于2025-12-05发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123221.html