mcpField
O
olares-cluster

olares-cluster

github.com/beclab云与 DevOps5.3k199 次安装今天更新
代码仓库

关于 olares-cluster

olares-cluster 是用于查看和操作 Olares Kubernetes 运行时对象的技能,面向需要检查资源、日志和执行工作负载操作的用户。它提供原始运行时视图,并将故障根因诊断交给 olares-doctor。

主要功能

  1. 01查看 Pod、工作负载及应用状态
  2. 02读取 YAML、事件和日志
  3. 03在容器中执行命令
  4. 04管理工作负载、作业和 CronJob
  5. 05轮询监视资源与日志

适用场景

  1. 01检查应用 Pod 是否正常运行
  2. 02查看容器日志以调查运行状况
  3. 03重启或缩放工作负载
  4. 04暂停 CronJob 或重新运行作业

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/beclab/olares --skill olares-cluster

安装后在 Claude Code 中输入/olares-cluster确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
olares-cluster-application.md
olares-cluster-cronjob.md
olares-cluster-exec.md
olares-cluster-job.md
olares-cluster-middleware.md
olares-cluster-pod.md
olares-cluster-workload.md

详细介绍

cluster(按用户查看 K8s)

共享入口: 加载 ../olares-shared/SKILL.md,了解套件路由、活动配置文件选择、平台入口点,以及认证继续/停止关卡。仅当确实需要登录、切换配置文件、存储令牌或恢复认证时,才加载其认证参考文档。

如果任务涉及应用命名空间、应用空间、跨命名空间 DNS 或系统中间件,请加载共享的平台模型。使用 olares-cli cluster <noun> <verb> --help 查看语法。

适用场景

  • 检查 K8s 运行时对象、YAML、事件、日志或身份上下文。
  • 在容器中执行一次性命令。
  • 扩缩、重启、停止、启动或删除工作负载;暂停/恢复 cronjob;重新运行 job。
  • 监视 pod、工作负载、应用或日志状态。

诊断应用“为何”出故障(安装卡住、崩溃循环、显示为 running 但无法访问、无法拉取镜像、资源压力)应使用 ../olares-doctor/SKILL.md——它会将这些 cluster 命令编排为从症状到根因的路由。cluster 保持为原始运行时视图,也是修改 K8s 对象的入口。

workload stop/start 会更改控制器副本数;不会更新 Market 生命周期记录。应用级生命周期操作请使用 market stop/resume。

快捷入口

任务阅读首条命令
查看应用的 pod 是否已启动pod 操作olares-cli cluster pod list -n <namespace> -o json,然后读取每个 pod 的 .status.phase
查看容器日志pod 操作olares-cli cluster pod logs <pod> -n <namespace>
查找此配置文件能查看的所有内容本文件olares-cli cluster context -o json
重启工作负载工作负载操作olares-cli cluster workload restart <name> -n <namespace>

身份与服务端决策原则(适用于所有场景)

  • 身份即活动配置文件;每次调用都不能单独覆盖配置文件。
  • 可见性和授权由服务端决定。cluster context 用于显示身份,不是权限预检。
  • 将 403 视为权威结果。例外情况是 exec,其命名空间安全关卡见对应参考文档。

动词索引

名词动词触发时阅读
context(单一动词)活动配置文件在 ControlHub 端的身份和范围——在下方任何名词返回空结果之前,查看此树能看到的所有内容
podlist、get、yaml、events、logs、delete、restart、execexec 要求 Olares 1.12.7+;pod 操作;exec 安全性
containerlist、env、logs、execexec 要求 Olares 1.12.7+;exec 安全性
workload(wl)list、images、get、yaml、rollout-status、scale、restart、stop、start、delete工作负载操作
application(app)list、get、workloads、pods、status应用聚合
namespace(别名 ns)list、get范围限定为活动配置文件,因此列出的是用户的命名空间,而不是整个集群的命名空间
node(别名 nodes)list、get其他树需要查询的节点名称:files 会按这些名称访问 cache/<node>/ 和 external/<node>/,且每个节点都会保留一项文件任务
job(jobs)list、get、yaml、pods、events、rerunjob 操作
cronjob(cronjobs、cj)list、get、yaml、jobs、suspend、resumecronjob 操作
middleware(mw)list中间件模型

监视与异步语义

  • 监视和日志跟踪会轮询;它们不是流式 API 监视。
  • 临时网络错误或 5xx 错误会在有限的连续重试次数内重试。终止性 4xx 响应会立即停止;408 和 429 仍可重试。
  • 按 Ctrl-C 会干净地停止本地轮询,但不会撤销服务器已接受的变更。
  • 部署状态或状态监视结束,并不能证明应用入口正常;如果运行时症状仍然存在,请使用 olares-doctor。

安全与升级处理

  • 执行每项破坏性运行时变更前都要确认,即使有 --yes 选项也不例外。
  • exec 是远程代码执行边界。请确认命名空间、Pod、容器、命令,以及是否预期会写入数据。优先使用一次性执行;交互式 TTY 应由人工操作。
  • 不要仅仅因为诊断发现对象不健康,就删除或重启对象。应先确认控制器归属及对应用的影响。
  • 404 可能是因为当前配置无法查看某个命名空间。请与 cluster application list 的结果进行比较;未经用户批准,不要扩大范围或切换身份。
  • 如需获取完整的镜像引用诊断信息,请使用 doctor images,不要使用分页的工作负载列表。
  • 如果命名空间或资源身份不明确、缺少权限,或有人要求访问其他用户的容器,请停止操作。

评论

支持 Markdown