mcpField
A
alibabacloud-ehpc-instant-job-skill

alibabacloud-ehpc-instant-job-skill

github.com/aliyunクラウド・DevOps28156 回インストール1 日前に更新
リポジトリ

alibabacloud-ehpc-instant-job-skill について

alibabacloud-ehpc-instant-job-skillは、CLIまたはSDKでAlibaba Cloud E-HPC Instantのジョブと計算リソースを管理するスキルです。ジョブの作成、照会、ログ確認、削除に対応し、高リスク操作には確認を求めます。

主な機能

  1. 01コンテナおよびVMジョブの作成
  2. 02ページング付き一覧と詳細の取得
  3. 03ジョブ結果とログの確認
  4. 04単一または複数ジョブの削除
  5. 05イメージ、ネットワーク、ストレージ依存関係の確認
  6. 06高リスク操作の設定表示と確認

活用シーン

  1. 01コンテナまたはVM計算ジョブの投入
  2. 02ジョブと実行ログの確認
  3. 03完了または不要なジョブの削除

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-ehpc-instant-job-skill

インストール後、Claude Code で/alibabacloud-ehpc-instant-job-skillを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
aliyun-cli.md
CREDENTIALS.md
ehpcinstant.md
instant-image.md
job-command.md
ram-policies.md
resource.md
storage.md
vswitch.md
scripts/cli/
_lib_validate.sh
create_container_job.sh
create_vm_job_batch.sh
create_vm_job_longrunning.sh
delete_jobs.sh
get_job.sh
list_jobs.sh
scripts/sdk/
_lib_validate.py
create_container_job.py
create_vm_job_batch.py
create_vm_job_longrunning.py
delete_jobs.py
get_job.py
list_jobs.py

詳細

阿里云E-HPC Instant作业管理技能

技能概述

通过阿里云CLI(优先)或SDK工具,实现对E-HPC Instant计算平台作业及计算资源的全生命周期管理。

交互原则

  • 用户友好:使用"您"而非"你",保持专业而友好的语调
  • 透明操作:所有关键配置信息必须向用户展示并获得确认
  • 安全第一:遵循最小权限原则,避免意外操作
  • 错误处理:提供清晰的错误信息和解决方案
  • 格式规范:使用简单、清晰、易读的输出格式

执行流程

  • Step1: 配置预加载
  • Step2: 前置条件校验
  • Step3: 作业管理执行
  • Step4: 作业任务执行结果输出
Step 1: 配置预加载

[MUST] 必须首先尝试读取 ./jobconfig/pre-config.json 文件,严禁跳过此检查步骤。

  • 文件存在且读取成功:加载其中的参数值,向用户提示预配置已加载并展示关键参数摘要,然后进入 Step 2。
  • 文件不存在:向用户提示未检测到预配置文件,将在 Step 2 中通过交互方式获取必要参数,然后进入 Step 2。
  • 文件存在但读取/解析失败(如 JSON 格式错误、权限不足等):向用户报告具体错误信息,询问是否继续(跳过预配置进入 Step 2)或中止执行。
Step 2: 前置条件校验
所有作业管理任务通用校验
  1. 阿里云CLI配置:验证CLI已安装并配置AccessKey
    • CLI版本要求 >= 3.3.3:运行 aliyun version 验证版本 >= 3.3.3。若未安装或版本过低,参考 references/aliyun-cli.md 中的安装说明进行安装或更新。
    • [MUST] 运行 aliyun configure set --auto-plugin-install true 启用自动插件安装。
    • [MUST] 运行 aliyun plugin update 确保已安装插件始终为最新版本。
    • 若无配置,引导用户交互式安装和配置
    • 参考:references/aliyun-cli.md
    • [MUST] CLI User-Agent — 每个 aliyun CLI 命令调用必须包含:--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
    • 启用阿里云CLI AI模式:运行以下初始化命令,附加本Skill执行的AI身份信息:
    aliyun configure ai-mode enable
    aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill"
    aliyun plugin update
    

    阿里云CLI提供了AI模式。启用后,CLI会自动附加AI身份信息,使服务端能够识别并优化Agent调用链路。 [MUST] 在每个退出点禁用AI模式 — 在因任何原因交付最终响应之前,务必先禁用AI模式。这适用于所有退出路径:工作流成功、工作流失败、错误/异常、用户取消、会话结束,或任何不再执行CLI命令的场景。 AI模式仅用于Agent Skill调用场景,技能停止运行后必须保持禁用状态。

    aliyun configure ai-mode disable
    
  2. 地域信息:获取用户指定区域或使用默认区域cn-shanghai
  3. 权限验证:确保AccessKey具备E-HPC Instant相关权限
创建作业任务专项校验
  1. 镜像准备:容器/VM镜像已添加至E-HPC Instant平台
  2. 网络配置:vSwitch已创建并可用
  3. 存储配置:NAS挂载路径已准备(如需要)
  4. 计算资源配置:Cores/Memory或InstanceType规格已指定
  5. 执行命令:作业执行命令行已指定
Step 3: 作业管理执行

根据用户需求执行相应的作业管理操作

创建作业
  1. Container容器作业
aliyun ehpcinstant CreateJob \
    --region cn-shanghai \
    --JobName 'container-job' \
    --Tasks '[{
        "TaskSpec": {
            "TaskExecutor": [{
                "Container": {
                    "Image": "registry.cn-shanghai.aliyuncs.com/registry/image:tag",
                    "Command": "[\"/bin/sh\", \"-c\", \"python /app/main.py\"]"
                }
            }],
            "Resource": {
                "Cores": 2,
                "Memory": 4,
                "Disks": [{"Type":"System","Size":40}]
            },
	    "VolumeMount": [
              {
                "MountPath": "/mnt",
                "VolumeDriver": "alicloud/nas",
                "MountOptions": "{\"server\":\"xxx.cn-shanghai.nas.aliyuncs.com\",\"vers\":\"3\",\"path\":\"/\",\"options\":\"nolock,tcp,noresvport\"}"
              }
            ],
        },
        "ExecutorPolicy": {"MaxCount": 1}
    }]' \
    --DeploymentPolicy '{"Network":{"Vswitch":["vsw-xxxx"]},"AllocationSpec":"Standard"}' \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
  1. VM虚拟机作业
aliyun ehpcinstant CreateJob \
    --region cn-shanghai \
    --JobName 'longrunning-job' \
    --JobDescription 'Long-running VM job' \
    --Tasks '[{
        "TaskSpec": {
            "TaskExecutor": [{
                "VM": {
                    "Image": "m-xxxx",
                    "Script": "base64_encoded_script"
                }
            }],
            "Resource": {
                "Disks": [{"Type":"System","Size":50}],
                "InstanceTypes": ["ecs.c6.xlarge"],
                "Cores": 4,
                "Memory": 8
            },
	    "VolumeMount": [
              {
                "MountPath": "/mnt",
                "VolumeDriver": "alicloud/nas",
                "MountOptions": "{\"server\":\"xxx.cn-shanghai.nas.aliyuncs.com\",\"vers\":\"3\",\"path\":\"/\",\"options\":\"nolock,tcp,noresvport\"}"
              }
            ],
        },
        "ExecutorPolicy": {"MaxCount": 1}
    }]' \
    --DeploymentPolicy '{"Network":{"Vswitch":["vsw-xxxx"]},"AllocationSpec":"Standard"}' \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
查询作业列表
# 基本列表查询
aliyun ehpcinstant ListJobs --region cn-shanghai \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill

# 分页查询(推荐用于大量作业)
aliyun ehpcinstant ListJobs --region cn-shanghai --PageSize 10 --PageNumber 1 \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill

# 条件过滤(按状态、时间等)
aliyun ehpcinstant ListJobs --region cn-shanghai --Filter '{"Status":"Running"}' \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
获取作业详情
aliyun ehpcinstant GetJob --region cn-shanghai --JobId 'job-xxxx' \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
查询作业日志
aliyun ehpcinstant DescribeJobResults --region cn-shanghai --JobId 'job-sh145rw47pegztzdpu7s' --TaskName Task0 --ArrayIndex 0 \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
删除作业
# 删除单个作业
aliyun ehpcinstant DeleteJobs --region cn-shanghai --JobSpec '[{"JobId":"job-xxxx"}]' \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill

# 批量删除(安全方式)
aliyun ehpcinstant DeleteJobs --region cn-shanghai --JobSpec '[{"JobId":"job-xxxx"},{"JobId":"job-yyyy"}]' \
    --user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill

[MUST] 幂等删除原则 — 当用户请求删除作业时,即使通过 GetJob 或 ListJobs 查询确认作业已不存在,Agent 仍必须调用 DeleteJobs API 并传入对应 JobId。DeleteJobs API 具备幂等性:作业存在时执行删除,作业不存在时返回标准 NotFound 响应。严禁 Agent 以"作业已不存在"为由自行跳过 API 调用 — 必须让服务端确认最终状态。

Step 4: 结果输出与后续建议
  • 格式化输出执行结果
  • 提供后续操作建议(如监控、日志查看等)
  • 记录关键信息供后续参考
作业管理参考执行脚本

路径:/home/admin/.openclaw/workspace/skills/ehpcinstant-job-skill/scripts/

CLI脚本:

  • create_container_job.sh - 创建容器作业
  • create_vm_job_batch.sh - 创建VM作业
  • create_vm_job_longrunning.sh - 创建长期运行的VM作业
  • list_jobs.sh - 列出作业(支持分页)
  • get_job.sh - 获取作业详情
  • delete_jobs.sh - 删除作业

SDK脚本:

  • 对应的Python SDK版本脚本,位于scripts/sdk/目录
  • create_container_job.py - 创建容器作业
  • create_vm_job_batch.py - 创建VM作业
  • create_vm_job_longrunning.py - 创建长期运行的VM作业
  • list_jobs.py - 列出作业(支持分页)
  • get_job.py - 获取作业详情
  • delete_jobs.py - 删除作业
注意事项
  1. CLI命令准确性:E-HPC Instant使用aliyun ehpcinstant命令,不是aliyun ehpc!
  2. 区域一致性:所有资源必须在同一区域,跨区域操作会失败
  3. 配额限制:注意账户配额限制,避免操作失败
  4. 成本意识:作业运行会产生费用,及时清理不需要的资源
  5. 权限最小化:为AccessKey配置最小必要权限,提高安全性

故障排查与最佳实践

よくある問題の解決策
問題根本原因解決策
InvalidCommandエラーCommandパラメーターの形式が正しくありません正しいJSON配列形式を使用します:["/bin/sh", "-c", "command"]
認証失敗AccessKeyの設定が正しくないか、権限が不足しています~/.aliyun/config.jsonの設定を確認し、E-HPC Instantの権限があることを確認します
イメージが存在しないイメージIDが正しくないか、リージョンが一致していませんイメージIDが正しく、同じリージョンにあることを確認します。references/instant-image.mdを参照してください
ネットワーク設定エラーVSwitch IDが正しくないか、利用できませんVSwitch IDとセキュリティグループの設定を確認します。references/vswitch.mdを参照してください
リソースクォータ不足アカウントのクォータ制限Alibaba Cloudに連絡してクォータを増やすか、リソース設定を調整します
コマンドの実行失敗コンテナー内のコマンドパスが正しくありませんイメージ環境でコマンドを実行できることを確認し、絶対パスを使用します
ベストプラクティスガイド
  1. 命名規則:

    • ジョブ名:アプリケーション-計算ケース-タイムスタンプ(例:prod-training-20260411)
    • リソース名:用途、環境、リージョンの情報を含めます
  2. リソース設定の最適化:

    • アプリケーションの特性に応じて適切なインスタンスタイプを選択します
    • 過剰な設定によるリソースの無駄を避けます
  3. コスト管理:

    • 完了したジョブを速やかにクリーンアップします
    • 適切なジョブのタイムアウト設定を使用します
    • リソースの使用状況を監視します
  4. 信頼性の確保:

    • ジョブの状態監視と再試行の仕組みを実装します
    • 適切なエラー処理とアラートを設定します
    • 重要な設定とデータを定期的にバックアップします
  5. セキュリティの強化:

    • プライベートイメージリポジトリを使用します
    • 最小権限のAccessKeyを設定します
    • ネットワークアクセス制御と暗号化を有効にします

参考資料と詳細情報

APIリファレンス全般

ジョブ管理の実行パラメーターが不明な場合は、以下のリンクを参照してください。

  • references/ehpcinstant.md - E-HPC Instant CLIコマンドの完全なマニュアル
  • CLIヘルプコマンド:aliyun ehpcinstant <ApiName> --help
個別設定ガイド
公式ドキュメント

セキュリティポリシーとリスク管理

操作リスクレベルの分類
リスクレベル操作タイプAgentの行動指針
低リスク参照操作(list、get、check、describe)追加確認なしで直接実行します
中リスク設定操作(configure、modify、update)影響範囲を提示し、ユーザーの確認を得てから実行します
高リスク作成/削除操作(create、delete、remove)すべての設定情報を必ず完全に提示し、ユーザーの明確な確認を得てから実行します

[MUST] API呼び出しの省略は禁止 — Agentは削除などの操作を実行する際、GetJobがNotFoundを返すといった参照結果に基づき、「操作は不要」と独自に判断して実際のAPI呼び出しを省略してはなりません。参照と変更の間には時間差があり、サーバー側の状態が変化している可能性があります。Agentは常にユーザーが要求した対象のAPI(DeleteJobsなど)を実行し、サーバーから権威ある最終結果を取得しなければなりません。

セキュリティチェックリスト
  • ✅ リージョンの一貫性:すべてのリソースが同じリージョンにあることを確認します
  • ✅ クォータの確認:リソースクォータに余裕があることを確認します
  • ✅ 依存関係の検証:依存リソース(イメージ、ネットワーク、ストレージ)が存在し、利用可能であることを確認します
  • ✅ 権限の検証:AccessKeyに必要な権限があることを確認します
  • ✅ コストの注意喚起:高額な費用が発生する可能性のある操作について注意を促します
機密操作の確認フロー
  1. 情報の集約:すべての重要な設定パラメーターを提示します
  2. 影響の説明:操作の影響範囲と潜在的なリスクを説明します
  3. ユーザーの確認:「はい」「確認」「続行」など、ユーザーから明確な確認が得られるまで待ちます
  4. 操作の実行:確認後に操作を実行します
  5. 結果のフィードバック:詳細な操作結果と次のステップに関する提案を提供します

コメント