python开发k8s管理平台_Python 调用 Kubernetes API 自动化管理资源

本文详细介绍了如何使用Python SDK与Kubernetes API进行交互,管理Job资源。通过加载kube配置,创建、监控、列举、读取、删除及更新Job的方法,展示了便捷的YAML和dict操作方式,以及Kubernetes Job状态的获取与理解。
摘要由CSDN通过智能技术生成

本文给出Python SDK操作Kubernetes Job的更多示例代码,以及相关解释。pip install kubernetes

初始化from kubernetes.client import BatchV1Api

from kubernetes.config import load_kube_config

load_kube_config()

batch = BatchV1Api()

load_kube_config是从默认位置,也就是~/.kube/config加载配置。如果在其它位置,可以通过第一个参数传入其路径。

BatchV1Api()可以当做Job的客户端来用。命名上,Batch和Job是类似的概念,前者强调批量。

创建Job

以下来自官方样例job_crud.py。def create_job_object():

container = client.V1Container(

name="pi",

image="perl",

command=["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"])

template = client.V1PodTemplateSpec(

metadata=client.V1ObjectMeta(labels={"app": "pi"}),

spec=client.V1PodSpec(restart_policy="Never", containers=[container]))

spec = client.V1JobSpec(

template=template,

backoff_limit=4)

job = client.V1Job(

api_version="batch/v1",

kind="Job",

metadata=client.V1ObjectMeta(name=JOB_NAME),

spec=spec)

return job

def create_job(api_instance, job):

api_response = api_instance.create_namespaced_job(

body=job,

namespace="default")

print("Job created. status='%s'" % str(api_response.status))

虽然,根据官方教程这样的写法,也能得到可用的V1Job,拿去执行创建操作。但还是过于陌生和偏门,不如主流、常见的YAML方便、易读写。

这里该出两种更方便的做法。

直接使用YAML---

apiVersion: batch/v1

kind: Job

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值