代理式 Kubernetes 命令行界面 (CLI)
   
一个智能的代理式Kubernetes命令行界面助手 将“that integrates your”翻译成中文可以是“将您的(内容/系统/功能等)整合到一起”。具体翻译可能需要根据上下文来确定“your”后面所接的具体内容。例如,如果是指整合系统,可以翻译为“将您的系统整合到一起”;如果是指整合功能,可以翻译为“将您的功能整合到一起” 本地MCP服务器 和;与;带着 AWS Bedrock,实现对……的自然语言控制 kubectl 命令, 集群管理,和 实时Kubernetes洞察.
______________________________________________________________________
🚀 特点
🗣️ 自然语言Kubernetes操作
- 对话式的
kubectl接口 —— 用平实的英语执行命令 - 基于人工智能的指令生成与验证
- 上下文感知的集群和命名空间管理
- 实时监控:Pods(容器组)、日志、资源和事件
⚙️ 高级功能
- ✅ 资源管理 — 列出、描述和管理 Kubernetes 资源
- 📊(图表/数据表格) 故障排除助手 — 分析日志并诊断问题
- 🔄 旋转符号(表示循环、重复或进行中的动作) 上下文切换 — 轻松在集群之间移动
- ⚡(闪电符号,常用于表示速度、活力或电等概念,在此处无具体上下文,故仅保留原样) 交互式命令行界面(CLI) — 友好的提示驱动式界面
______________________________________________________________________
🎥 演示
以下是两者之间的一个交互示例: 用户 和 代理型Kubernetes命令行界面(CLI) 展示实时故障排除和修复能力。
______________________________________________________________________
🧑💻 用户: 列出集群中的所有Pod\ 🤖 代理: 没有正在运行的Pod,但有一个Pod nginx 显示出一个问题(ImagePullBackOff)。
🧑💻 用户: 分析这个问题,用 nginx “pod”在中文中通常翻译为“豆荚”或根据上下文可能指“小盒子”、“舱”等意思,具体翻译需结合语境\ 🤖 代理: 问题已识别——容器镜像标签 nginx:lt 该条目错误且在注册表中未找到。
🧑💻 用户: 修复图像标签问题并使Pod运行\ 🤖 代理: 更新了镜像标签至 nginx:latest重新部署了该Pod,并验证了它现在 跑步 成功地。
______________________________________________________________________
Your browser does not support the video tag.
______________________________________________________________________
📚 目录
______________________________________________________________________
🔧 前提条件
所需软件
- Python 3.12及以上版本
- \
kubectl\翻译成中文是“Kubernetes 控制台命令行工具”或简称为“Kubernetes 命令行工具”。它是用于与 Kubernetes 集群进行交互的命令行接口,允许用户部署应用、管理容器、配置集群等。 - 访问一个正在运行的 Kubernetes 集群
- AWS账户 使用Bedrock API访问
AWS Bedrock 配置
- 在AWS Bedrock控制台中启用Claude模型
- 配置AWS凭据以访问Bedrock
- 确保为(某用户/服务/资源)分配了IAM权限
bedrock:InvokeModel
______________________________________________________________________
📦 安装
快速设置
# Clone the repository
git clone https://github.com/Tarique-B-DevOps/Agentic-Kubernetes-CLI.git
cd Agentic-Kubernetes-CLI
# Install dependencies
pip install -r requirements.txt
# Verify kubectl installation
kubectl version --client
# Run the agent
python3 agent.py______________________________________________________________________
⚙️ 配置
环境变量
在运行代理程序之前,请设置或导出以下变量:
# AWS Bedrock Configuration
export BEDROCK_MODEL_REGION=us-east-1
export BEDROCK_MODEL_ID=apac.anthropic.claude-3-5-sonnet-20241022-v2:0
# AWS Credentials (optional if configured with AWS CLI)
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=us-east-1______________________________________________________________________
🎯 使用方法
启动代理
python3 agent.py示例交互命令
⎈ kubectl> list all pods in production namespace
⎈ kubectl> what's wrong with my nginx deployment?
⎈ kubectl> show me the last 100 logs from api-server
⎈ kubectl> switch to staging cluster______________________________________________________________________
💡 示例
列出Pods
⎈ kubectl> show all pods in the clusterAI回复:
✅ Command executed successfully:
NAME READY STATUS RESTARTS AGE
nginx-7854ff8877-2kxq9 1/1 Running 0 5d
api-server-abc123 1/1 Running 2 3d排查Pod故障
⎈ kubectl> why is my app-server pod failing?AI回复:
Analyzing pod app-server...
Issue: ImagePullBackOff
Root Cause: Container exits with code 1
Last Error: Connection refused to database:5432
Suggestion: Check database service and credentials查看日志
⎈ kubectl> get the last 50 lines of logs from nginx pod and summarize管理上下文
⎈ kubectl> list all available clusters
⎈ kubectl> switch to production-cluster
⎈ kubectl> what's my current context?扩展部署
⎈ kubectl> scale nginx deployment to 5 replicas命名空间操作
⎈ kubectl> show all resources in kube-system namespace
⎈ kubectl> get all deployments across all namespaces______________________________________________________________________
🏗️ 建筑学
系统组件
______________________________________________________________________
🧩 MCP 工具
运行 kubectl 命令
{
"command": "kubectl get pods -n default -o json",
"return_code": 0,
"stdout": "...",
"success": true
}kubectl_context(在中文语境中,可理解为“kubectl 上下文”或“kubectl 上下文配置”)
{
"action": "list",
"success": true,
"output": "..."
}