CLI 工作流
适合 AI Agent 的只读 kubectl 命令
固定 context 和 namespace,只用 get、describe、logs 与权限检查,拒绝变更型子命令。
容器与 Kubernetes只读
开始前准备好工具、认证与证据
先安装推荐工具,确认最小权限,再区分兼容性和真实执行记录。
复制或下载本工作流 Skill
Skill 包含输入输出合同、推荐工具、审批点、回滚和证据边界;保存前仍应按当前环境审查。
read-only-kubernetes-audit-SKILL.md
---
name: read-only-kubernetes-audit-workflow
description: "固定 context 和 namespace,只用 get、describe、logs 与权限检查,拒绝变更型子命令。"
---
# 只读 Kubernetes 审计
## 适用目标
解释集群健康状况和可能原因,同时确保审计路径只读。
## 证据边界
- 工具状态分别标注 `docs-verified` 与真实独立执行;二者不能互换。
- 当前注册表没有记录某次工具执行具体由哪个 Agent 完成,因此不能把“兼容 Agent”称为“已测试 Agent”。
- 执行前重新核对目标账户、环境、版本与官方文档。
- 不自动执行 R2、R3 或任何标记为需要确认的步骤;必须在执行前获得明确批准。
## 推荐工具、安装与认证
- **kubectl**(证据:`docs-verified`,文档检查:`2026-07-10`,未记录独立执行版本)
- 安装:`brew install kubectl`
- 认证:kubeconfig, service account token, exec credential plugin
- 最小权限:审计任务使用专用 context,RBAC 仅授予 get、list 和 watch。
- **jq**(证据:`verified`,文档检查:`2026-07-10`,已记录独立测试版本 jq-1.7.1-apple)
- 安装:`brew install jq`
- 认证:基础操作无需认证
- 最小权限:无需服务凭据;仍应把文件系统和网络访问限制在任务范围内。
## 输入合同
- 明确的 kube context
- namespace 范围
- 只读凭证
- 审计问题
## 输出合同
- 资源清单
- 事件与日志证据
- 权限检查
- 按优先级排列的发现
## 安全工作流
1. **确认身份与范围** — 读取当前 context,并在检查工作负载前确认允许的动作。
- 输入: Kubeconfig 和目标 namespace
- 输出: Context、namespace 与权限边界
- 风险: `read-only`
- 命令: `kubectl config current-context && kubectl auth can-i --list -n example`
2. **检查资源** — 读取工作负载状态、近期事件、描述和限定范围的日志,尽量使用结构化输出。
- 输入: 已确认的 context 和 namespace
- 输出: 资源、事件与日志证据
- 风险: `read-only`
- 命令: `kubectl get pods -n example -o json`
3. **只汇总不修复** — 按优先级汇总发现,任何变更都作为独立命令提出并说明影响。
- 输入: 集群证据
- 输出: 审计报告与可选修复建议
- 风险: `read-only`
## 必须先确认
- 任何 apply、patch、edit、scale、rollout、delete、exec 或 port-forward
- 读取 Secret 或扩大 namespace 范围
- 切换到用户未提供的生产 context
## 回滚
- 只读路径无需集群回滚
- 删除包含敏感日志的临时本地输出
- 若批准变更,先保存现有资源 Manifest
## 官方来源
- [kubectl reference](https://kubernetes.io/docs/reference/kubectl/) — 用于核对当前命令、认证、输出和操作边界。
目标、输入与输出
在 Agent 选择命令前,先明确要交付的结果和证据。
适合 AI Agent 的只读 kubectl 命令:安全执行步骤
每一步都要在已声明的边界内执行,验证输出后再继续。
审批点与回滚
在列出的决策点停下,并让恢复方法始终紧跟操作。
选 CLI、MCP 还是 API?
根据执行位置、身份、输出合同与权限边界选接口。
建议方案
使用只读凭证运行 kubectl,不能只靠命令名称判断权限。
官方证据与参考
执行前使用这些官方或上游来源确认当前命令行为。