CLI 工作流

适合 AI Agent 的只读 kubectl 命令

固定 context 和 namespace,只用 get、describe、logs 与权限检查,拒绝变更型子命令。

容器与 Kubernetes只读

开始前准备好工具、认证与证据

先安装推荐工具,确认最小权限,再区分兼容性和真实执行记录。

kubectldocs-verified
使用结构化输出检查 Kubernetes,并对每个集群变更命令设置确认门槛。

推荐安装

$ shell
brew install kubectl
认证
kubeconfig, service account token, exec credential plugin
已测试 Agent
暂无 Agent 级执行记录
证据状态
docs-verified · 文档检查 2026-07-10
CLI 独立执行
未记录独立执行版本
jqverified
在本地以确定性输出解析、筛选、校验和转换 JSON。

推荐安装

$ shell
brew install jq
认证
基础操作无需认证
已测试 Agent
暂无 Agent 级执行记录
证据状态
verified · 文档检查 2026-07-10
CLI 独立执行
jq-1.7.1-apple · 4 项检查

复制或下载本工作流 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 选择命令前,先明确要交付的结果和证据。

目标

解释集群健康状况和可能原因,同时确保审计路径只读。

所需输入

  • 明确的 kube context
  • namespace 范围
  • 只读凭证
  • 审计问题

预期输出

  • 资源清单
  • 事件与日志证据
  • 权限检查
  • 按优先级排列的发现

适合 AI Agent 的只读 kubectl 命令:安全执行步骤

每一步都要在已声明的边界内执行,验证输出后再继续。

步骤 1只读

确认身份与范围

读取当前 context,并在检查工作负载前确认允许的动作。
输入
Kubeconfig 和目标 namespace
输出
Context、namespace 与权限边界
$ 确认身份与范围
kubectl config current-context && kubectl auth can-i --list -n example
步骤 2只读

检查资源

读取工作负载状态、近期事件、描述和限定范围的日志,尽量使用结构化输出。
输入
已确认的 context 和 namespace
输出
资源、事件与日志证据
$ 检查资源
kubectl get pods -n example -o json
步骤 3只读

只汇总不修复

按优先级汇总发现,任何变更都作为独立命令提出并说明影响。
输入
集群证据
输出
审计报告与可选修复建议

审批点与回滚

在列出的决策点停下,并让恢复方法始终紧跟操作。

这些操作需要先确认

  • 任何 apply、patch、edit、scale、rollout、delete、exec 或 port-forward
  • 读取 Secret 或扩大 namespace 范围
  • 切换到用户未提供的生产 context

恢复计划

  • 只读路径无需集群回滚
  • 删除包含敏感日志的临时本地输出
  • 若批准变更,先保存现有资源 Manifest

选 CLI、MCP 还是 API?

根据执行位置、身份、输出合同与权限边界选接口。

CLI

当 kubeconfig、context 和 namespace 明确,并需要 shell 证据时最合适。

MCP

需要用更窄的工具目录和集中策略中介集群访问时适用。

API

专门审计服务可使用 service account 身份和持久结果存储。

建议方案

使用只读凭证运行 kubectl,不能只靠命令名称判断权限。

官方证据与参考

执行前使用这些官方或上游来源确认当前命令行为。

kubectl reference

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

执行前的常见问题

kubectl exec 是只读命令吗?

不是。它会在工作负载内启动进程,可能改变数据或行为,必须确认。

日志里可能有密钥吗?

可能。应限制时间范围、脱敏凭证,并避免复制无关日志。

相关工具与指南

浏览同类指南,选择与你当前任务最接近的下一页。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

检查安装、认证、结构化输出、命令风险与官方证据。