云計算-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
英文地址,請注明出處:http://en.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;未經授權的數據采集侵犯他人知識產權干擾或破壞正常業務系統任何違反國家法律法規的行為因讀者將本教程內容用于 非法用…