云运维编排器

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

用 Terraform+Ansible 编排多云基础设施,内置漂移检测、变更预演与安全销毁,杜绝误删.

一句话选型结论

按资料字段整理

云运维编排器是运维和基础设施类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install zcwl/cloud-ops-orchestrator
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方zcwl仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1790033838
正文体量14.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
云运维编排器当前 未标注权限 未标注 未标注 未标注 有
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

14.6 KB
模型实际读到的说明书原文,来自技能仓库

云运维编排器

用声明式代码管理多云基础设施,把"手动点控制台"变成"可审计、可回滚、可预演"的工程化流程。本技能解决五个核心痛点:职责混淆(Terraform/Ansible 用错地方)、状态漂移(线上与代码不一致)、误删灾难(destroy 不可逆)、凭证泄露(明文 AK/SK)、环境串味(dev 改动影响 prod)。

职责边界红线

这是最常出错的地方。明确分工:

维度 Terraform 负责 Ansible 负责
对象 云资源生命周期 主机内配置
操作 创建/修改/销毁资源 安装软件/改配置/启服务
状态 有状态(state 文件) 无状态(幂等剧本)
典型 VPC、EC2、RDS、LB Nginx 配置、应用部署、用户管理
禁止 ❌ 不要用 TF 装软件 ❌ 不要用 Ansible 建云资源

一句话原则:Terraform 声明"有什么",Ansible 声明"里面跑什么"。两者通过 Terraform 输出的主机清单(inventory)衔接。

快速开始

前置检查

# 验证工具链
terraform version   # >= 1.5
ansible --version   # >= 2.15
aws --version       # 或 gcloud / az 版本

# 验证凭证(不要把凭证写进代码)
aws sts get-caller-identity   # AWS
gcloud auth list              # GCP
az account show               # Azure

标准工作流(plan → review → apply)

./cloud-ops.sh init aws prod          # 初始化 prod 环境后端
./cloud-ops.sh plan prod              # 预演变更,生成报告
./cloud-ops.sh review prod            # 人工/Agent 审查 plan 输出
./cloud-ops.sh apply prod             # 执行变更(需 --confirm)

安全销毁(带保护期)

./cloud-ops.sh destroy prod           # 默认 dry-run,只列出将删除的资源
./cloud-ops.sh destroy prod --confirm # 二次确认后才真正销毁

prod 环境强制 72 小时保护期:距离上次 apply 不足 72 小时的资源拒绝销毁,除非加 --override-lock。

命令参考

cloud-ops.sh <command> <env> [options]

命令:
  init      初始化工作目录与 Terraform 后端
  plan      预演变更(dry-run)
  review    生成人类可读的变更摘要
  apply     执行变更(需 --confirm)
  destroy   销毁资源(默认 dry-run,需 --confirm,prod 有保护期)
  drift     检测状态漂移
  reconcile 修正漂移(apply 差异)
  config    运行 Ansible 配置
  output    导出主机清单给 Ansible
  cost      估算资源成本

环境: dev | staging | prod
通用选项: --confirm, --dry-run, --module <name>, --override-lock

目录结构(推荐)

infra/
├── cloud-ops.sh              # 编排入口
├── envs/
│   ├── dev/                  # 开发环境
│   │   ├── backend.tf        # 状态后端
│   │   ├── terraform.tfvars  # 环境变量
│   │   └── providers.tf
│   ├── staging/
│   └── prod/
├── modules/                  # 可复用模块
│   ├── web-app/
│   ├── database/
│   ├── k8s-cluster/
│   └── serverless/
├── ansible/
│   ├── inventories/          # 由 terraform output 生成
│   ├── playbooks/
│   └── roles/
└── policies/                 # 策略与守卫
    ├── destroy-guard.json
    └── drift-baseline.json

漂移检测工作流

漂移(drift)指线上实际资源与 Terraform state 不一致,常因手动改控制台引起。

# 检测漂移(只读,不改任何东西)
./cloud-ops.sh drift prod

输出示例:

DRIFT REPORT - prod (2026-07-18 09:00)
──────────────────────────────────────
[CHANGED] aws_security_group.web
  ingress[0].from_port: 443 → 8443  (手动修改)
[MISSING] aws_s3_bucket.logs
  资源在 state 中但云上不存在(可能被手动删除)
[EXTRA] aws_instance.bastion-2
  云上存在但 state 中无(手动创建未纳入 IaC)

建议:
  - reconcile: 用代码覆盖线上(推荐用于配置类漂移)
  - import:    把手动资源纳入 IaC(推荐用于未纳管资源)
  - ignore:    标记为已知例外
# 修正漂移(把线上拉回代码定义)
./cloud-ops.sh reconcile prod --confirm

# 或反过来:把手动资源纳入 IaC
./cloud-ops.sh import prod aws_instance.bastion-2 i-xxxxx

变更预演报告

plan 命令不仅输出 Terraform 原始日志,还生成结构化摘要,供 Agent 或人审:

./cloud-ops.sh plan prod
{
  "env": "prod",
  "summary": {
    "add": 3,
    "change": 1,
    "destroy": 0
  },
  "resources": [
    {"action": "create", "type": "aws_rds_instance", "name": "primary", "risk": "medium"},
    {"action": "create", "type": "aws_security_group", "name": "db", "risk": "low"},
    {"action": "update", "type": "aws_lb_listener", "name": "https", "risk": "high", "note": "修改监听端口将导致短暂中断"}
  ],
  "cost_delta": "+$340/月",
  "requires_confirm": true
}

risk 字段帮助 Agent 决定是否需要人工确认。high 风险变更默认拒绝自动 apply。

环境隔离矩阵

环境 后端 凭证 保护期 自动 apply
dev 本地文件 个人 IAM 无 允许
staging S3+锁 CI IAM 2 小时 允许(CI 触发)
prod S3+DynamoDB 锁 专用 IAM(最小权限) 72 小时 禁止,必须人工确认

环境之间通过独立的 state 后端和 IAM 角色物理隔离,避免 dev 的 plan 误读 prod 的 state。

凭证管理(防泄露)

绝对禁止:把 AWS_ACCESS_KEY_ID 写进 .tf 文件或提交到 Git。

推荐方式(按优先级):

  1. 环境变量/Profile(本地开发):
export AWS_PROFILE=prod-admin
# 或
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=xxx
  1. CI OIDC(推荐,无长期密钥):
# CI 通过 OIDC 临时获取凭证,无需存储 AK/SK
provider "aws" {
  # 凭证由 CI 运行时注入
}
  1. Vault 引用(团队共享):
export AWS_ACCESS_KEY_ID=$(vault read -field=access_key secret/cloud/prod)

.gitignore 必须包含:

*.tfvars.local
*.tfstate
*.tfstate.*
.cr-credentials/

模块模板

Web 应用(含 LB + ASG)

module "web_app" {
  source = "./modules/web-app"
  name   = "api"
  env    = "prod"
  instance_count = 3
  min_size = 2
  max_size = 6
  health_check_path = "/health"
  vpc_id   = module.network.vpc_id
  subnets  = module.network.private_subnets
}

数据库(含只读副本与备份)

module "database" {
  source = "./modules/database"
  engine = "postgres"
  version = "15"
  instance_class = "db.r6g.large"
  allocated_storage = 200
  backup_retention = 30
  multi_az = true
  read_replica_count = 1
}

Kubernetes 集群

module "k8s" {
  source = "./modules/k8s-cluster"
  kubernetes_version = "1.28"
  node_groups = {
    general = { instance_type = "t3.large", desired = 3, min = 2, max = 5 }
    spot    = { instance_type = "t3.medium", desired = 2, min = 0, max = 10, capacity_type = "spot" }
  }
}

Serverless 函数

module "serverless" {
  source = "./modules/serverless"
  runtime = "python3.11"
  memory = 512
  timeout = 30
  log_retention = 14
}

Terraform 与 Ansible 衔接

Terraform 建好主机后,输出 inventory 给 Ansible:

# 1. Terraform 输出主机信息
./cloud-ops.sh output prod > ansible/inventories/prod.yml

# 2. Ansible 配置主机
./cloud-ops.sh config prod --playbook site.yml

inventory 生成模板:

all:
  children:
    web:
      hosts:
        web-0: { ansible_host: 10.0.1.10, ansible_user: ec2-user }
        web-1: { ansible_host: 10.0.1.11, ansible_user: ec2-user }
    db:
      hosts:
        db-primary: { ansible_host: 10.0.2.10 }

场景化指南

场景 A:新项目首次交付

./cloud-ops.sh init aws dev
./cloud-ops.sh plan dev --module web-app
./cloud-ops.sh apply dev --confirm
./cloud-ops.sh output dev
./cloud-ops.sh config dev --playbook bootstrap.yml

场景 B:生产扩容

# 修改 terraform.tfvars: instance_count = 5
./cloud-ops.sh plan prod              # 确认只增不减
./cloud-ops.sh review prod            # 检查风险等级
./cloud-ops.sh apply prod --confirm   # 执行

场景 C:成本优化清理

# 识别闲置资源
./cloud-ops.sh cost dev --idle
# 销毁(dev 无保护期)
./cloud-ops.sh destroy dev --confirm

场景 D:灾备切换

# 提升只读副本为主
./cloud-ops.sh plan prod --module database --promote-replica
./cloud-ops.sh apply prod --confirm
# 切换 DNS
./cloud-ops.sh config prod --playbook failover.yml

销毁保护机制(防误删)

destroy 命令的多层防护:

  1. 默认 dry-run:不加 --confirm 只列出将删除的资源,不执行。
  2. 保护期检查:prod 环境资源创建后 72 小时内拒绝销毁。
  3. 资源白名单:policies/destroy-guard.json 标记的关键资源(如生产数据库)强制要求 --override-lock。
  4. 依赖顺序:按依赖反向销毁,避免"删了 VPC 还留着 EC2"。
// policies/destroy-guard.json
{
  "protected_resources": [
    {"type": "aws_rds_instance", "pattern": "prod-*", "reason": "生产数据库"},
    {"type": "aws_s3_bucket", "pattern": "backup-*", "reason": "备份桶"}
  ],
  "prod_lock_hours": 72,
  "require_override": ["prod"]
}

FAQ

Q:Terraform state 文件放哪?
A:dev 用本地文件;staging/prod 用 S3+DynamoDB 锁,禁止本地存 prod state。init 命令会按环境矩阵自动配置后端。

Q:plan 显示要删一个资源但我没动它?
A:常见于 state 漂移或代码被他人修改。先 git diff 看 .tf 改动,再 drift 检查线上。不要盲目 apply。

Q:Ansible 和 Terraform 谁先执行?
A:Terraform 先建资源,output 生成 inventory,Ansible 后配置。变更时顺序相反:先 Ansible 下线应用,再 Terraform 改资源。

Q:如何回滚?
A:IaC 的回滚 = git revert + apply。把代码回退到上一个版本重新 apply。前提是 state 没被破坏性修改。

Q:多云混用怎么管凭证?
A:每个 provider 用独立的 profile/项目,通过 alias 区分。不要在一个 provider 块里塞多个云的凭证。

Q:CI 里怎么跑?
A:用 OIDC 短期凭证,CI 只对 staging 有 apply 权限,prod 必须人工触发。参考环境隔离矩阵。

故障排查

症状 可能原因 处置
Error acquiring the state lock 上次执行中断未释放锁 force-unlock 谨慎使用,先确认无其他进程在跑
plan 显示全部重建 state 文件丢失或后端配置变 检查 backend.tf,必要时 import 恢复
Provider produced inconsistent result provider 版本 bug 锁定 provider 版本,升级到稳定版
Ansible 连接超时 安全组未放行 22/SSH 端口 检查 Terraform 创建的 security group
destroy 报 resource not empty S3 桶/DB 有数据 按策略先清空或确认后再加 --force
凭证报 InvalidClientTokenId AK/SK 过期或权限不足 轮换密钥,检查 IAM 策略

性能优化

  1. 并行资源:Terraform 默认并行创建无依赖资源,-parallelism=20 可调高(小心 API 限流)。
  2. state 拆分:大环境按模块拆成多个 state,避免单 state 过大导致 plan 慢。
  3. Ansible fact 缓存:开启 fact_caching=redis 避免每次采集。
  4. 增量 plan:用 -target 只 plan 变更模块,但注意不要长期依赖 target(会掩盖漂移)。

依赖说明

运行环境

  • Agent 平台:支持 SKILL.md 的任意 AI Agent
  • 操作系统:Linux / macOS(Windows 需 WSL2)
  • Shell:bash 4+

第三方依赖

依赖项 类型 是否必需 获取方式
Terraform CLI 必需 >= 1.5,brew install terraform 或官方下载
Ansible CLI 必需 >= 2.15,pip install ansible
AWS CLI CLI AWS 必需 brew install awscli
GCP CLI (gcloud) CLI GCP 必需 官方安装
Azure CLI (az) CLI Azure 必需 brew install azure-cli
jq CLI 必需(报告解析) apt install jq
LLM API API 必需 由 Agent 内置 LLM 提供

API Key 配置

  • AWS:AWS_PROFILE 或 AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY,建议 OIDC。
  • GCP:GOOGLE_APPLICATION_CREDENTIALS 指向服务账号 JSON。
  • Azure:az login 或 ARM_CLIENT_ID/ARM_CLIENT_SECRET/ARM_TENANT_ID/ARM_SUBSCRIPTION_ID。
  • 所有凭证禁止写入 .tf 文件,必须通过环境变量或 Profile 注入。

可用性分类

  • 分类:MD+EXEC(Markdown 指令 + shell/Terraform/Ansible 执行)
  • 说明:Agent 调用 cloud-ops.sh 编排底层工具链,负责策略判断、风险审查与人工确认触发。

常见问题

5 问
答案由本站依据条目字段整理
云运维编排器怎么安装?

在支持 Skills 的客户端里执行:skillhub install zcwl/cloud-ops-orchestrator。安装方式为未标注。装完刷新技能列表或重开客户端。

云运维编排器支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

云运维编排器权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

云运维编排器收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

云运维编排器用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。