Kubernetes Python Client:用 Python 操作 K8s 集群

Kubernetes集群的硬件和软件配置要求及编程实践 本文介绍了搭建Kubernetes集群所需的硬件和软件配置要求,并提供了一个使用Python编程的示例代码,用于管理和操作Kubernetes集群。通过合理的硬件配置和正确的软件配置,我们可以构建出高效可靠的Kubernetes集群,实现容器化应用程序的部署和管理。上述示例代码通过Python的kubernetes-python-client库实现了在Kubernetes集群中创建一个名为"my-pod"的Pod,并在其中运行NGINX容器的功能。Kubernetes集群的硬件和软件配置要求及编程实践。 阅读详情

Kubernetes Python Client:用 Python 操作 K8s 集群

Kubernetes Python Client 在 GitHub 上已经拿到 7,588 Star。

这是 Kubernetes 官方维护的 Python 客户端,用来在 Python 代码里调用 Kubernetes API。管理 Pod、Service、Deployment,查询集群状态,监听资源变化,都能通过它完成。

正文顶部截图

1、 这项目干嘛的

核心就干一件事:把 Kubernetes 的 REST API 包装成 Python 接口。你不用手写 HTTP 请求,不用自己处理认证和序列化,导入包、加载配置、调方法就行。

它支持同步和异步两种模式。同步代码用 kubernetes 模块,异步用 kubernetes.aio。两种模式接口基本一致,切换成本很低。

2、 基本用法

安装一行命令:

pip install kubernetes

列出所有 Pod:

from kubernetes import client, config

config.load_kube_config()
v1 = client.CoreV1Api()
ret = v1.list_pod_for_all_namespaces(watch=False)
for i in ret.items:
    print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))

监听 Namespace 变化:

from kubernetes import client, config, watch

config.load_kube_config()
v1 = client.CoreV1Api()
w = watch.Watch()
for event in w.stream(v1.list_namespace, _request_timeout=60):
    print("Event: %s %s" % (event['type'], event['object'].metadata.name))

异步模式代码结构几乎一样:

import asyncio
from kubernetes.aio import client, config
from kubernetes.aio.client.api_client import ApiClient

async def main():
    await config.load_kube_config()
    async with ApiClient() as api:
        v1 = client.CoreV1Api(api)
        ret = await v1.list_pod_for_all_namespaces()
        for i in ret.items:
            print(i.status.pod_ip, i.metadata.namespace, i.metadata.name)

asyncio.run(main())

3、 版本兼容性

这个项目遵循语义化版本,客户端版本和 Kubernetes 集群版本有明确的对应关系。当前支持的版本从 client 9 到 client 36,覆盖了 Kubernetes 1.12 到 1.37。

README区域截图

维护策略和上游保持一致:同时支持三个 GA 大版本。版本选错不会导致代码崩溃,只是可能用不到新 API 或者遇到已移除的旧接口。

4、 适合谁用

  • 用 Python 写运维脚本、需要批量操作 K8s 资源的工程师
  • 在构建平台或工具链、需要程序化调用 Kubernetes API 的开发者
  • 做 CI/CD 流水线、需要在部署环节查询或修改集群状态的团队

这个项目代码生成自 OpenAPI 规范,API 覆盖度和上游保持同步。只要 Kubernetes 支持的操作,这里基本都能找到对应方法。

群状态的团队

这个项目代码生成自 OpenAPI 规范,API 覆盖度和上游保持同步。只要 Kubernetes 支持的操作,这里基本都能找到对应方法。

python 抖音采集_python爬取抖音视频的实例详解 import requestsimport jsonimport reimport osfrom pprint import pprint as ppimport queueclass DouYin:header = {'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*... 阅读详情

相关推荐

VS2022下OSG+OSGEARTH开发环境一键配置指南(Win10 x64+CMake自动化构建)

本文详细介绍了在VS2022环境下配置OSG和OSGEARTH开发环境的完整指南,包括软件下载、CMake自动化构建、编译实战及环境验证。通过一键配置脚本和常见问题解决方案,帮助开发者快速搭建3D开发环境,提升开发效率。

weixin_28828243的博客 404

Python开发运维:Python调用K8S API实现资源管理

(3) 操作pod: nginx-deployment-7848d4b86f-57rvf ,将pod镜像nginx修改为busybox。读取pod: nginx-deployment-7848d4b86f-57rvf 信息。(2)编写deployment文件: nginx-deploy.yaml。(1) 编写代码:python-api-deploy.py。(1)编写代码:api-delete-k8s.py。写代码:python-k8s-api.py。写代码:api-read-k8s.py。

cronaldo91的博客 3801

获取气体传感器温度调制响应数据并转换为NumPy数组

本任务旨在获取气体传感器在温度调制条件下的响应数据,将其处理为结构化数据格式(NumPy数组),以便用于机器学习模型训练。整个过程包含数据采集、预处理、特征工程和格式转换等关键步骤。

huanghm88的专栏 1207

python 简单操作k8s

需要注意的是,重启 Pod 操作将会杀死该 Pod 中的容器,并重新启动一个新的容器。因此,在执行重启操作之前,请确保你已经备份了相关数据,并且已经确认该操作不会对应用程序产生不良影响。方法创建 Kubernetes API 客户端。接着,指定要重启的 Pod 的命名空间和名称,并使用。中指定要重启的容器名称和重启次数,以确保重启操作能够正确执行。方法加载 Kubernetes 配置文件,然后使用。方法来重启该 Pod。

weixin_42562106的博客 5548

【学习记录】IIC驱动ICM42670+卡尔曼滤波+四元数姿态角解算

ICM42670陀螺仪可以使用iic驱动,单片机平台使用GD32f305VE。

liarsup的博客 8258

OpenWRT二级路由DHCP客户端配置:实现IPv4 WAN自动获取与网段隔离

本文详细讲解了如何将OpenWRT配置为二级路由器,重点在于设置其WAN口为DHCP客户端以自动获取IPv4地址,并修改LAN口网段实现与上级网络的隔离。文章提供了从网络拓扑规划、具体配置步骤到防火墙设置的完整指南,并分享了常见问题排查与避坑经验,帮助用户构建稳定且功能独立的家庭网络环境。

weixin_29268267的博客 292

k8s二次开发 使用python (Kubernetes Python Client)

一.在k8s master获取API cluster URL与token 1.抓取Cluster URL地址 # APISERVER=$(kubectl config view --minify | grep server | cut -f 2- -d ":" | tr -d " ") # echo $APISERVER 下面python脚本要使用,我获取的是:https://192.16...

hypon的博客 1万+

Matlab_Marr小波尺度变换图

多尺度的连续小波变换分解后时间尺度图 墨西哥Marr小波函数: %delta 小波变换尺度 %N     小波函数的长度 %s     原始信号 %g     原始信号某个尺度下的小波变化系数 function g=Singularity_Detection(delta,N,s); %保持信号长度 n=length(s); % 构造墨西哥小帽小波函数 for index_x=1

桔色小西瓜 6601

【K8S】client-go、python-k8sclient开发K8S

0x01 client-go 1、简介 Client-go是kubernetes官方发布的调用K8S API的golang语言包,可以用来开发K8S的管理服务、监控服务,配合前端展示,就可以开发出一款定制化的、可视化的管理或监控工具。目前最新版本为7.0,对应K8S的版本为1.10,访问链接:https://github.com/kubernetes/client-go其中client-...

weixin_30838921的博客 853

2026.4.15:超详细自动安装Ubuntu-Server的保姆级教程

这篇教程详细介绍了如何创建无人值守的Ubuntu Server 26.04自动安装镜像。主要内容包括:从安装镜像中提取autoinstall-user-data文件并修改为user-data配置文件;使用mkpasswd生成加密密码;通过软碟通工具修改ISO镜像,添加自动安装所需的user-data和meta-data文件;编辑grub.cfg引导文件以启用自动安装模式。教程提供了完整的yaml配置示例,包含网络、存储、用户等设置,并演示了最终制作完成的自动安装镜像效果。

拥抱具身智能,昇腾Ascend C 734

基于SAGE算法的宽带信道参数估计算法的MATLAB仿真

本文将介绍如何使用MATLAB进行SAGE算法的仿真,以便更好地理解和应用该算法。SAGE算法是一种基于最大期望(Expectation-Maximization)方法的迭代估计算法,用于估计未知的参数。在宽带信道参数估计中,SAGE算法通过迭代优化来估计信道的传输函数。总结起来,本文介绍了如何使用MATLAB进行基于SAGE算法的宽带信道参数提取算法的仿真。通过以上步骤,我们可以得到估计的信道响应,并与真实信道响应进行比较。此外,SAGE算法还可以与其他信道估计算法相结合,以提高估计的准确性和性能。

CodeRoarX的博客 1075

python 自动生成k8s 集群yaml 文件

yaml 模块用于处理 yaml 文件,yaml 是一种比xml和json更轻的文件格式,k8s 集群声明资源对象就是使用 yaml 文件,使用yaml 模块可以更方便的处理yaml 文件模块 常用方法dump:将一个python对象生成为yaml文档load:返回一个对象dump_all:load_all:简单示例演示loadyaml_str1=""" ...

weixin_33967071的博客 2184

safetymonitorapi

Summary of SA8653 Safety Monitor API Introduction This document details Safety Monitor APIs for the SA8653 QNNX platform, covering dual interfaces of APSS and SAIL. It defines core data structures and enumerations for subsystems, fault severity and health

qq_39257814的博客 1588

K8s-GitLab CI自动部署K8s配置实操

技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Shell/Python/Ansible + K8s Python Client v29.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案。

qq_27665533的博客 77

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

kubernetes 脚本

测试环境有一台宿主机出现了异常,大量的异常日志导致宿主机的磁盘使用率超过了85%,触发了上面的pod驱离策略,该宿主机上的的pod处于Evicted状态。在清理了磁盘之后,得手动处理掉这些Evicted状态的pod。查看了下该状态的pod数目有50+,一条条的删除到猴年马月,写个shell脚本批量处理下。同理我们可以用来清理状态为Failed的pod。

weixin_42816196的博客 135

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

K8s集群证书有效期巡检脚本

技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Shell/Python/Ansible + K8s Python Client v29.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案。

qq_27665533的博客 158

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

K8s集群Pod日志批量导出脚本实操

技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Shell/Python/Ansible + K8s Python Client v29.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案。

qq_27665533的博客 9

K8sAnsible Playbook部署Harbor实操

技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Shell/Python/Ansible + K8s Python Client v29.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案。

qq_27665533的博客 106

Kubernetes Python Client

一、概述 Kubernetes官方维护的Python客户端client-python,地址:https://github.com/kubernetes-client/python 安装模块 pip3 install kubernetes 环境说明 操作系统:centos 7.6 k8s版本:1.18.1 ip地址:192.168.31.74 主机名:k8s-master ...

shykevin的博客 1761

Kubernetes Python Client 教程

Kubernetes Python Client 教程 1. 项目介绍 Kubernetes Python Client 是一个官方支持的库,它允许开发者在 Python 中与 Kubernetes 集群进行交互。这个客户端提供了对 Kubernetes API 的全面访问,可以创建、更新、删除和管理各种资源对象,如Pods、Services、Deployments等。 2. 项目快速启动 安装 ...

gitblog_00058的博客 1285

无法从Kubernetes python客户端连接GKE自动驾驶集群

你可以从Google Cloud Console的"IAM & Admin" -> "Service Accounts"中找到这个功能。人工智能大模型应用场景:假设你正在开发一个监控系统,该系统需要定期检查GKE集群中每个pod的状态。你可以使用这个库来获取所有pod的信息,然后根据它们的状态来采取相应的行动。例如,如果某个pod的CPU使用率过高,你可以自动重启它。接下来,你需要在你的代码中导入kubeconfig,这个配置文件通常位于~/.kube/config。

373

K8sAnsible Playbook初始化集群节点实操

技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Shell/Python/Ansible + K8s Python Client v29.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案。

qq_27665533的博客 56

终极Kubernetes Python Client完整指南:从快速安装到生产级应用

想要在Python中轻松管理Kubernetes集群吗?Kubernetes Python Client是官方提供的强大Python客户端库,让你能够通过Python代码自动化管理Kubernetes集群中的各种资源。这个完整的指南将带你从基础安装到高级应用场景,帮助你快速掌握这个强大的工具。 ## 🚀 快速安装步骤 安装Kubernetes Python Client非常简单,只需一行命令

gitblog_01125的博客 581

Kubernetes Python Client审计日志:API操作追踪与分析

你是否曾因Kubernetes集群中频繁的API操作而难以追踪故障根源?是否在排查配置变更时苦于缺乏完整的操作记录?本文将带你通过Kubernetes Python Client实现API操作的全链路追踪,从审计日志采集到异常行为分析,构建可视化监控体系,让集群操作透明化不再是难题。读完本文你将掌握:审计日志采集方案、关键操作筛选技巧、异常行为识别方法以及可视化分析实践。 ## 审计日志采集基础...

gitblog_00358的博客 370

K8s集群K8s集群运维自动化脚本Python脚本实战实操

技术栈:Kubernetes v1.32.13 + Rocky Linux 8.6 + Shell/Python + Ansible + Containerd 1.7.x操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案。

qq_27665533的博客 140

每天只花10分钟,用Python脚本搞定Kubernetes运维,你也能做到!

每天10分钟掌握Kubernetes运维,通过Python脚本自动化部署、监控与故障排查,提升效率。适用于集群管理、应用发布等场景,简化复杂操作。轻松实现运维自动化,值得收藏。

simcode的专栏 901
上一篇: MajjcomBiliDownloader:开源B站视频下载工具
下一篇: NGINX JavaScript 用 JS 扩展 NGINX 的能力
matrixcode1
博客等级 码龄2年 74粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值