关于 oci
这是一个面向 OCI 用户的部署技能,指导配置 OCI CLI、检查 ARM 实例容量并部署或清理基础设施。它要求在执行前确认部署参数,并提供容量监控与自动部署脚本。
主要功能
- 01部署前参数核对
- 02检查 ARM 实例容量
- 03自动监控并部署
- 04创建网络与计算资源
- 05清理 compartment 资源
适用场景
- 01确认 OCI 部署配置
- 02查找可用 ARM 实例容量
- 03容量开放时自动部署
- 04删除 compartment 及其资源
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ evolv3-ai/ vibe-skills --skill oci安装后在 Claude Code 中输入/oci确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/env-templatereferences/CAPACITY.mdCONFIG.mdINSTALL.mdNETWORKING.mdOPERATIONS.mdTROUBLESHOOTING.mdscripts/.env.examplecheck-oci-capacity.shcleanup-compartment.shmonitor-and-deploy.shoci-infrastructure-setup.sh详细介绍
Oracle Cloud Infrastructure(OCI)
重要:密钥与 .env
- 切勿在任何技能文件夹中存储有效的
.env文件或凭据。 .env.template文件只能放在技能文件夹内的assets/中。- 将有效密钥存储在
~/.admin/.env中,并从该处引用。
状态:已可用于生产环境 | 依赖项:OCI CLI、SSH 密钥对
导航
- 运维、故障排除、配置和清理:
references/OPERATIONS.md - CLI 安装/配置/容量/网络详情:
references/
步骤 0:收集所需信息(必须)
停止。在执行任何部署命令之前,向用户收集所有参数。
复制此清单并确认每一项:
Required Parameters:
- [ ] SERVER_NAME - Unique name for this server
- [ ] OCI_REGION - Region (us-ashburn-1, us-phoenix-1, ca-toronto-1, etc.)
- [ ] OCI_SHAPE - Instance shape (see profiles below)
- [ ] OCI_OCPUS - Number of OCPUs (1-4 for Always Free)
- [ ] OCI_MEMORY_GB - Memory in GB (1-24 for Always Free)
- [ ] SSH_KEY_PATH - Path to SSH public key (default: ~/.ssh/id_rsa.pub)
Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
coolify → 2 OCPU, 12GB RAM (Always Free eligible)
kasm → 4 OCPU, 24GB RAM (Always Free eligible)
both → 4 OCPU, 24GB RAM (Always Free eligible)
Always Free Tier Limits:
- Shape: VM.Standard.A1.Flex (ARM64)
- Max: 4 OCPUs, 24GB RAM total (can split across instances)
按用途推荐的配置:
| 用途 | OCPU | RAM | 形状 | 费用 |
|---|---|---|---|---|
| coolify | 2 | 12GB | VM.Standard.A1.Flex | 免费 |
| kasm | 4 | 24GB | VM.Standard.A1.Flex | 免费 |
| 两者 | 4 | 24GB | VM.Standard.A1.Flex | 免费 |
在确认所有参数之前,不要继续执行先决条件步骤。
先决条件
使用此技能前,请确认以下内容:
1. 已安装 OCI CLI
oci --version
如果未安装,请使用以下命令安装:
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)" -- --accept-all-defaults
source ~/.bashrc # or restart terminal
2. 已配置 OCI CLI
ls ~/.oci/config
如果未配置,请使用以下命令配置:
oci setup config
你需要:
- Tenancy OCID(OCI 控制台 → Profile → Tenancy)
- User OCID(OCI 控制台 → Profile → My Profile)
- 区域(例如,us-ashburn-1)
- API 密钥对(向导会生成)
3. SSH 密钥对
ls ~/.ssh/id_rsa.pub
如果缺少,请使用以下命令生成:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
4. SSH 密钥权限
stat -c %a ~/.ssh/id_rsa # Should be 600
如果权限不正确,请使用以下命令修复:
chmod 600 ~/.ssh/id_rsa
5. 测试身份验证
oci iam availability-domain list
如果此操作失败:API 密钥可能尚未上传到 OCI 控制台 → Profile → API Keys
脚本路径解析:Claude Code 加载此文件时,会提供完整路径。以下所有 scripts/ 引用均相对于此文件所在目录。根据此文件的路径确定 SKILL_DIR,并在运行脚本时将其作为前缀。
快速开始
1. 先检查容量
OCI Always Free ARM 实例需求量很大。部署前务必先检查:
scripts/check-oci-capacity.sh
选项和故障排除
# Check specific region
scripts/check-oci-capacity.sh us-ashburn-1
# Use different OCI profile
scripts/check-oci-capacity.sh --profile PRODUCTION
# Check multiple regions
for region in us-ashburn-1 us-phoenix-1 ca-toronto-1; do
echo "=== $region ==="
scripts/check-oci-capacity.sh "$region"
done
没有可用容量? 使用自动监控:
scripts/monitor-and-deploy.sh --stack-id <STACK_OCID>
2. 部署基础设施
# Configure environment
cp scripts/.env.example scripts/.env
# Edit scripts/.env with your values
# Deploy
scripts/oci-infrastructure-setup.sh
脚本参考
| 脚本 | 用途 | 用法 |
|---|---|---|
check-oci-capacity.sh | 检查 ARM 实例可用性 | scripts/check-oci-capacity.sh [region] |
oci-infrastructure-setup.sh | 部署完整基础设施 | scripts/oci-infrastructure-setup.sh |
monitor-and-deploy.sh | 有可用容量时自动部署 | scripts/monitor-and-deploy.sh --stack-id <ID> |
cleanup-compartment.sh | 删除所有资源 | scripts/cleanup-compartment.sh <COMPARTMENT_OCID> |
脚本详情
check-oci-capacity.sh
检查各可用性域中的 VM.Standard.A1.Flex 可用性。
scripts/check-oci-capacity.sh # Home region
scripts/check-oci-capacity.sh us-ashburn-1 # Specific region
scripts/check-oci-capacity.sh --profile DANIEL # With profile
测试 4 OCPU/24GB RAM(完整免费层级),如果不可用则改用 2/12。
monitor-and-deploy.sh
持续监控,并在发现可用容量时自动部署。
scripts/monitor-and-deploy.sh \
--stack-id <STACK_OCID> \
--profile DANIEL \
--interval 300 \
--max-attempts 100
oci-infrastructure-setup.sh
创建完整基础设施:区间 → VCN → 子网 → IGW → 安全列表 → 实例。
需要包含 OCI 凭据和配置的 .env 文件。
cleanup-compartment.sh
安全删除区间及其所有资源(需要确认)。
scripts/cleanup-compartment.sh ocid1.compartment.oc1..xxx
运维
常见问题、最佳实践、配置变量和清理顺序请参阅 references/OPERATIONS.md。
日志集成
执行基础设施操作时,请记录到集中式系统:
# After provisioning
log_admin "SUCCESS" "operation" "Provisioned OCI instance" "id=$INSTANCE_ID provider=OCI"
# After destroying
log_admin "SUCCESS" "operation" "Terminated OCI instance" "id=$INSTANCE_ID"
# On error
log_admin "ERROR" "operation" "OCI deployment failed" "error=OUT_OF_HOST_CAPACITY"
完整日志文档请参阅 admin 技能的 references/logging.md。