云计算-K8s 运维:Python SDK 操作 Job/Deployment/Pod+RBAC 权限配置及自定义 Pod 调度器实战

简介

在 Kubernetes 运维中,自动化资源管理与定制化调度是提升效率的核心需求,而 Python SDK 是实现这一目标的关键工具。本次围绕 K8s Python SDK 展开全场景实战,以 “代码 + 效果” 双维度,覆盖 5 大核心运维场景,Job 自动化创建(先清理重名资源再部署计算任务)、Deployment 全流程管理(创建 Nginx 服务并导出 JSON 状态文件)、Pod 生命周期管控(删除 - 创建 - 查询一体化)、RBAC 权限配置(命名空间 / 角色 / 绑定的创建与验证),以及自定义调度器开发(监听 Pending Pod 并随机绑定可用节点)。每个场景均提供可直接运行的完整 Python 代码,搭配 YAML 配置文件与执行逻辑解析,适合运维、开发人员快速掌握 SDK 自动化技巧,降低手动操作成本,提升集群管理效率,同理可实现其他资源的调度

1.SDK 实现 Job 创建

在前面已建好的 Kubernetes 开发环境云平台上。使用 Kubernetes python SDK 的 “kubernetes”Python 库,在/root 目录下,创建 sdk_job_manager.py 文件,要求编写 python 代 码,代码实现以下任务:

(1)编写 Python 程序实现 Job 资源的创建。Job 配置信息如下。如果同名 Job 存在, 先删除再创建。

(2)创建完成后,查询该 Job 的详细信息,执行结果控制台输出,以 json 格式展示。 Job 创建 yaml 的信息如下:

 [root@k8s-master-node1 ~]# cat spec-pi-job.yaml
 apiVersion: batch/v1
 kind: Job
 metadata:
   name: pi
 spec:
   template:
     metadata:
       name: pi
     spec:
       containers:
       - name: pi
         image: perl
         command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
       restartPolicy: Never
 [root@k8s-master-node1 ~]# vi sdk_job_manager.py
 import time,yaml
 from kubernetes.client import BatchV1Api
 from kubernetes.config import load_kube_config
 load_kube_config()
 api = BatchV1Api()
 try:
     api.delete_namespaced_job(name='pi', namespace='default')
     print('同名job删除')
 except Exception as e:
     pass
 time.sleep(15)
 with open("spec-pi-job.yaml", encoding="utf-8") as f:
     data = yaml.safe_load(f)
     print(data)
 create = api.create_namespaced_job(body=data, namespace="default")
 print(f"创建job:{create}")
 get = api.read_namespaced_job(name="pi", namespace="default")
 print(f"查询job:{get}")
 ​
 ​

2.SDK方式管理deployment服务

在提供的OpenStack私有云平台上,使用“k8s-python-dev”镜像创建1台云主机,云主机类型使用4vCPU/12G内存/100G硬盘。该主机中已经默认安装了所需的开发环境,登录默认账号密码为“root/1DaoYun@2022”。使用Kubernetes python SDK的“kubernetes”P

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96696.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel 转化成JSON

Excel 转化成JSON import pandas as pd import json import osdef excel_to_json(excel_path, sheet_name0, orientrecords, save_pathNone):"""将Excel文件转换为JSON格式并可选择保存到文件参数:excel_path: Excel文件路径sheet_name: 工作表名称或索引&#…

Linux 进阶用法

一、系统性能调优系统性能调优是 Linux 管理中的关键技能,它能显著提升系统在不同应用场景下的表现。通过针对性的调优,可以解决资源瓶颈问题,提高服务响应速度,优化资源利用率。(一)CPU 性能调优知识点详解…

14.苹果ios逆向-app的调试方式

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:图灵Python学院 工具下载: 链接:https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

深入理解 React useEffect

一、useEffect基础概念 1、什么是副作用(Side Effects)? 在React中,副作用是指那些与组件渲染结果无关的操作,例如: 数据获取(API调用)手动修改DOM设置订阅或定时器记录日志 2、useE…

Yapi中通过MongoDB修改管理员密码与新增管理员

如何在Docker部署的Yapi中通过MongoDB修改管理员密码与新增管理员便捷管理Yapi权限:无需前端重置,直接通过数据库操作修改密码及添加管理员一、进入MongoDB容器并连接数据库 首先,通过以下命令进入运行中的MongoDB容器: docker ex…

【EasyR1】GRPO训练

官方github:https://github.com/hiyouga/EasyR1 参考:https://opendeep.wiki/hiyouga/EasyR1/quickstart 代码和环境配置 github:https://github.com/hiyouga/EasyR1 新建一个虚拟环境: python -m venv easyr1 source easyr1/b…

2025年KBS SCI1区TOP,新颖奖励与ε-贪婪衰减Q-learning算法+局部移动机器人路径规划,深度解析+性能实测

目录1.摘要2.新颖奖励与ε-贪婪衰减Q-learning算法3.结果展示4.参考文献5.代码获取6.算法辅导应用定制读者交流1.摘要 路径规划是移动机器人的核心任务,需要在高效导航的同时规避障碍。本文提出了一种改进Q-learning算法——定制化奖励与ε-贪婪衰减Q-learning&…

运行npm run命令报错“error:0308010C:digital envelope routines::unsupported”

下载的前后端分离架构的开源项目,运行“npm run serve”命令启动前端服务时报错“error:0308010C:digital envelope routines::unsupported”,这个错误通常是由于Node.js版本与项目依赖不兼容导致的,特别是在Node.js v17版本中,百…

AI计算提效关键。自适应弹性加速,基于存算架构做浮点运算

一、自适应弹性加速是提升芯片能效比的有力手段自适应弹性加速技术是现代芯片设计中提升能效比的关键路径之一。它摒弃了传统芯片在设计时采用的静态、固化的资源分配与功能设定模式,通过引入动态调整机制,使得芯片能够根据实时的应用需求和负载变化&…

Spring Boot测试陷阱:失败测试为何“传染”其他用例?

一个测试失败,为何“传染”其他测试?——Spring Boot 单元测试独立性与泛型陷阱实战解析 🚩 问题背景 在日常开发中,我们常会遇到这样的场景: 正在开发新功能 A,写了一个 testFeatureA() 测试方法&#xff…

Web开发中的CGI:通用网关接口详解

一、CGI的设计意图:解决Web的"静态"困境 在CGI出现之前,Web服务器只能做一件事:返回预先写好的静态文件(HTML、图片等)。每个用户看到的内容都是一模一样的。 设计意图很简单但却革命性: 让Web服…

在 SSMS 中查找和打开已保存的查询文件

在 SSMS 中查找和打开已保存的查询文件 在 SQL Server Management Studio (SSMS) 中,您可以轻松地查找并打开已保存的查询文件(通常以 .sql 扩展名保存)。SSMS 提供了直观的界面支持直接打开这些文件,无需额外工具。以下是详细步骤…

Protues使用说明及Protues与Keil联合仿真实现点亮小灯和流水灯

目录 1Protues介绍及新建工程 1.1进入软件 1.2文件创建 1.3默认选项 1.5设计面板 1.6添加元器件 1.7终端模式 1.8激励源模式 1.9探针模式 1.10仪表 1.11二维直线 1.12字符 2 Protues电路原理图仿真 2.1 220V交流电转5V直流电稳压电路仿真原理图 2.1.1 仿真原理图…

Linux PCI 子系统:工作原理与实现机制深度分析

Linux PCI 子系统:工作原理与实现机制深度分析 1. Linux PCI 子系统基础概念 1.1 PCI/PCIe 基础概念回顾 总线拓扑: PCI/PCIe 系统是一个树形结构。CPU 连接到 Root Complex (RC),RC 连接至 PCIe 交换机 (Switch) 和 PCIe 端点设备 (Endpoint…

RabbitMQ 全面指南:架构解析与案例实战

目录一、RabbitMQ 简介1.1 什么是 RabbitMQ1.2 RabbitMQ 的核心组件1.3 RabbitMQ 的应用场景二、环境搭建2.1 安装 RabbitMQ2.2 安装 Erlang2.3 配置 RabbitMQ三、RabbitMQ 核心概念与工作原理3.1 消息模型3.2 交换机类型3.3 队列特性3.4 消息确认机制四、Spring Boot 集成 Rab…

6.2 el-menu

一、 <el-menu>: 菜单组件&#xff0c;定义了侧边栏内部的具体导航项、层级结构和交互行为。<el-container><!-- 侧边栏容器 --><el-aside width"200px"><!-- 菜单内容 --><el-menu default-active"1" class"el-men…

Windows 笔记本实现仅关屏仍工作:一种更便捷的 “伪熄屏” 方案

在使用 Windows 笔记本作为临时服务器或需要后台持续运行程序时&#xff0c;我们常面临一个需求&#xff1a;关闭屏幕以节省电量或减少光污染&#xff0c;同时保持系统正常工作。然而&#xff0c;网络上流传的诸多方法往往存在局限&#xff0c;要么无法兼顾 “熄屏” 与 “工作…

Linux应急响应一般思路(二)

进程排查进程(Process)是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的基本单位&#xff0c;是操作系统结构的基础无论是在Windows系统还是Linux系统中&#xff0c;主机在感染恶意程序后&#xff0c;恶意程序都会启动相应的进程&#x…

基于 SkyWalking + Elasticsearch + Grafana 的可落地调用链监控方案

这个方案成熟稳定、社区活跃、部署相对简单,非常适合中小型团队作为第一代调用链系统落地。 一、核心组件选型与角色 组件 版本建议 角色 优点 Apache SkyWalking v9.x+ 核心平台 (采集、分析、存储、UI) 国产优秀,Java Agent无侵入接入,功能全面,性能损耗低 Elasticsearc…

APP逆向——某站device-id参数

免责声明本博客所涉及的 爬虫技术、逆向分析方法 仅用于 学习、研究和技术交流。文中所有示例代码、工具和方法&#xff0c;均不得用于以下行为&#xff1a;未经授权的数据采集侵犯他人知识产权干扰或破坏正常业务系统任何违反国家法律法规的行为因读者将本教程内容用于 非法用…