mcpField
H
huawei-cloud-modelarts-resource-pool-management

huawei-cloud-modelarts-resource-pool-management

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

huawei-cloud-modelarts-resource-pool-management について

hcloud CLIを使ってHuawei Cloud ModelArtsの専用リソースプールとノードプールを管理するスキルです。クラウド運用担当者向けに各種ライフサイクル操作を扱い、書き込み前の事前確認と承認、有料操作前の価格照会を求めます。

主な機能

  1. 01リソースプールとノードの管理
  2. 02ノードプールとネットワークの管理
  3. 03タグ、プラグイン、ワークロードの操作
  4. 04イベント、クォータ、フレーバーの照会
  5. 05書き込み前の問題確認と承認
  6. 06有料操作前の価格確認

活用シーン

  1. 01ModelArtsリソースプールの作成・保守
  2. 02ノード、ノードプール、ネットワークの管理
  3. 03予定イベントやワークロードの調査
  4. 04有料リソース変更前の費用確認

インストール

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

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-modelarts-resource-pool-management

インストール後、Claude Code で/huawei-cloud-modelarts-resource-pool-managementを入力して読み込まれたか確認します。

同梱ファイル

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

references/
acceptance-criteria.md
api-paths.md
cli-command-examples.md
cli-installation-guide.md
dataflow-diagram.md
iam-policies.md
known-issues.md
pricing-inquiry.md
verification-method.md
scripts/
query-pricing.sh

詳細

Huawei Cloud ModelArts リソースプール管理

hcloud CLI を使用して、ModelArts の専用リソースプールとノードプールをライフサイクル全体にわたって管理します。10 の機能領域にまたがる 53 の操作に対応しています。


概要

このスキルを使うと、ユーザーは hcloud CLI を通じて、Huawei Cloud ModelArts の専用リソースプール(专属资源池)とノードプールを管理できます。リソースプールの CRUD、ノード管理、ノードプール管理、ネットワークリソース、タグ管理、プラグイン管理、ワークロード、スケジュール済みイベント、OS 設定、リソースフレーバーの照会など、ライフサイクル全体をカバーします。課金対象の操作については、BSS の料金照会も含まれます。

アーキテクチャ
User Request → Agent → hcloud ModelArts <Operation> --cli-region={region} [--params] → Huawei Cloud ModelArts API
対象となるシナリオ
  • リソースプール管理:リソースプールの作成、一覧表示、詳細表示、更新、削除、監視、統計情報、ノード設定、注文管理
  • プールノード管理:ノードの一覧表示、詳細表示、一括削除、更新、ロック、ロック解除、再起動、リセット、サイズ変更、移行、バインド
  • ノードプール管理:リソースプール内のノードプールの作成、一覧表示、詳細表示、更新、削除
  • ネットワークリソース:ModelArts ネットワークの作成、一覧表示、詳細表示、更新、削除、利用可能な IP の照会
  • タグ管理:リソースプールのタグの一覧表示、詳細表示、一括作成、一括削除
  • プラグイン管理:プラグインテンプレートの一覧表示、プールプラグインの一覧表示と作成
  • ジョブとワークロード:ワークロードの一覧表示、ワークロード統計の詳細表示、ジョブの一覧表示
  • スケジュール済みイベント:スケジュール済みイベントの一覧表示と承認
  • OS 設定:OS ユーザー設定とクォータの詳細表示
  • リソースフレーバーとイベント:リソースフレーバー、イベント、ノード設定テンプレートの一覧表示

前提条件

  1. hcloud CLI がインストールされ、認証済みであること — 参照:https://support.huaweicloud.com/qs-hcli/hcli_02_003.html
  2. Huawei Cloud AK/SK が hcloud で設定されていること(以下の「セキュリティと認証情報の確認」を参照)
  3. 対象リージョンで ModelArts サービス が有効になっていること
  4. IAM 権限 — references/iam-policies.md を参照してください
セキュリティと認証情報の確認

⚠️ 重大:このセクションでは、エージェントのセキュリティ境界を定義しています。必ず厳守してください。

🔒 セキュリティルール(必須)
  • 🚫 絶対に AK/SK の値を読み取ったり、表示したり、出力したりしないでください(例:cat ~/.hcloud/config.json、echo $HW_ACCESS_KEY は禁止されています)
  • 🚫 ~/.hcloud/config.json など、認証情報を含む可能性のあるファイルを読み取ったり、cat したりしないでください
  • 🚫 会話やコマンドラインで AK/SK を直接入力するようユーザーに求めないでください
  • 🚫 hcloud configure set --cli-access-key=... --cli-secret-key=... を実行しないでください。認証情報の設定はユーザーの責任であり、エージェントセッション外で行う必要があります
  • 🚫 すべての API 呼び出しに --cli-access-key/--cli-secret-key を渡さないでください。リクエスト処理中、プロセス一覧(ps aux)に認証情報が表示されます
  • ✅ 認証情報の状態を確認する際は、必ず hcloud configure list を使用してください(値ではなく、存在のみを確認します)
  • ✅ 有効なプロファイルがない場合は、停止し、このセッション外で認証情報を設定するようユーザーに案内してください
  • ✅ メインアカウントではなく、権限を最小限にした IAM ユーザーの使用を推奨してください
✅ エージェントの認証情報チェック(唯一許容される確認方法)
# Step 1: Check credential status — presence only, not values
hcloud configure list
  • ✅ 期待される結果:mode: AKSK の有効なプロファイルが表示されます

  • ❌ 空または無効な場合 → 以下の3ステップの手順を案内します:

    手順(ユーザーがコピーして貼り付ける内容):

    「有効な認証情報が見つかりません。ターミナルで次の3つの手順を実行してください。」

    ① AK/SK を取得する Huawei Cloud Console にログインし、IAM → Access Keys を開きます。まだキーをお持ちでない場合は、「Create Access Key」をクリックし、安全な場所に保存してください。

    ② ターミナルで次のコマンドを実行する(初回のみの設定):

    hcloud configure set --cli-access-key=<YOUR_AK> --cli-secret-key=<YOUR_SK>
    

    (<YOUR_AK> と <YOUR_SK> を、手順①で取得した値に置き換えてください)

    **③ 戻って「configured」と伝えてください。**動作を確認します。

    注:configure set コマンドは認証情報を ~/.hcloud/config.json に保存します。その後はすべての hcloud コマンドで自動的に使用されるため、AK/SK を再度渡す必要はありません。

    エージェント:configure set コマンドは絶対に実行しないでください。

🔧 ユーザーの責任(ドキュメント用であり、エージェントは実行しません)

ユーザーはエージェントのセッション外で、自分のターミナルから認証情報を設定します。

# One-time setup — run this in your terminal, NOT in the agent chat
HISTCONTROL=ignorespace
 hcloud configure set --cli-access-key=<YOUR_AK> --cli-secret-key=<YOUR_SK>

⚠️ 注:hcloud CLI は HW_ACCESS_KEY/HW_SECRET_KEY 環境変数を読み取りません(これらは Python SDK 専用です)。サポートされている認証情報の設定方法は hcloud configure set のみです。


ワークフロー

ステップ 1:操作を特定する

ユーザーのリクエストに基づいて、必要なリソースプール操作を判断します。

ユーザーの意図操作カテゴリ
リソースプールの作成/一覧表示/詳細表示/更新/削除リソースプール管理
プールノードに対する一覧表示/詳細表示/一括操作プールノード管理
ノードプールの作成/一覧表示/詳細表示/更新/削除ノードプール管理
ネットワークの作成/一覧表示/詳細表示/更新/削除ネットワークリソース
プールタグの一覧表示/詳細表示/作成/削除タグ管理
プラグインの一覧表示/作成プラグイン管理
ワークロードの一覧表示、統計の表示ジョブとワークロード
スケジュール済みイベントの一覧表示/承認スケジュール済みイベント
OS 設定/クォータの表示OS 設定
フレーバー/イベント/テンプレートの一覧表示リソースフレーバーとイベント
ステップ 2:CLI コマンドを実行する
hcloud ModelArts <Operation> --cli-region={region} [--key=value ...]

{region} は cn-north-4 などの実際のリージョンに置き換える必要があります。リージョンをハードコードしないでください。

ステップ 2.5:⚠️ 実行前チェック(書き込み操作では必須)

書き込み操作(作成/更新/削除/パッチ適用/一括処理/承認)を実行する前に、必ず次を行ってください。

  1. references/known-issues.md を読む — 対象 API に関連するセクションを確認します
  2. ファイル末尾の実行前チェックリストを確認する — すべての条件が満たされていることを確認します
  3. 文書化された回避策を適用する — 特に次の高リスク操作について確認します
操作重大な問題必要な対応
PatchPool、PatchNetwork、PatchNodePoolContent-Type は application/merge-patch+json である必要がありますヘッダーセクションとともに --cli-jsonInput を使用します
BatchUpdatePoolNodes--action の値は true/false ではありません文字列の action を指定して --cli-jsonInput を使用します
CreatePoolネットワーク名にプロジェクト ID のサフィックスが必要ですListNetworks を照会して正確な名前を確認します
CreateNodePoolcount ≥ 1、maxCount ≤ count である必要があります実行前に制約を確認します
ShowNetworkAvailableIpnetwork_id は status.subnets[0].networkId から取得します先に ShowNetwork を照会します
ListEvents--resource は pools(複数形)である必要があります複数形を使用します
BatchResetPoolNodesVM プールでは strategy はサポートされていません既知の制限としてユーザーに伝えます
BatchResizePoolNodeshyperinstance ノードのみをサポートします既知の制限としてユーザーに伝えます
DeleteNetworkプールで使用中のネットワークは削除に失敗します先にプールを削除します

**この手順を省略すると、防止可能な失敗が発生します。**表の各問題は、実際の API テストを通じて判明したものです。

ステップ 3:書き込み操作を処理する

すべての書き込み操作(Create/Update/Delete/Patch/Batch/Accept)では、実行前にユーザーに確認を求めてください。課金対象の操作(CreatePool、CreateNodePool、PatchNodePool、BatchResizePoolNodes、CreateOrderId)では、費用をユーザーに知らせるため、先に BSS の料金を問い合わせてください。料金問い合わせのワークフローについては、references/pricing-inquiry.md を参照してください。


KooCLI コマンド形式の標準

hcloud ModelArts <Operation> --cli-region={region} [--key=value ...]
機能説明例
サービス名固定:ModelArtsModelArts
操作名パスカルケースListPools、CreatePool
リージョンパラメーター--cli-region={region}--cli-region=cn-north-4
単純なパラメーター--key=value--pool_name=xxx
インデックス付きパラメーター--key.1=value1--node_name.1=node1
project_id省略時に自動解決設定済みのプロジェクト ID を使用

注:--project_id は、省略すると認証情報から自動解決されます。特定のプロジェクトを対象にする場合にのみ、明示的に指定してください。

複雑なパラメーター:複雑なネストされたパラメーター(例:metadata、spec)には、--cli-jsonInput=/path/to/file.json を使用してください。JSON ファイルでは、{"body": {...}} のエンベロープでボディをラップする必要があります。


コアコマンド

10 の機能ドメインにわたる 53 個すべての CLI コマンド例は、別のリファレンスファイルに記載されています。

📖 詳細なコマンド構文、パラメーター、例については、references/cli-command-examples.md を参照してください

クイックインデックス
#ドメインAPI主な操作
1リソースプール管理11ListPools、ShowPool、CreatePool、PatchPool、DeletePool、ShowPoolMonitor/Statistics/RuntimeMetrics/NodeConfig、CreateOrderId、ShowOrder
2プールノード管理11ListPoolNodes、ShowPoolNode、BatchDelete/Update/Lock/Unlock/Reboot/Reset/Resize/Migrate/Bind
3ノードプール管理6ListNodePools、ShowNodePool、CreateNodePool、PatchNodePool、DeleteNodePool、ListNodePoolNodes
4ネットワークリソース6ListNetworks、ShowNetwork、CreateNetwork、PatchNetwork、DeleteNetwork、ShowNetworkAvailableIp
5タグ管理4ListPoolTags、ShowPoolTags、BatchCreatePoolTags、BatchDeletePoolTags
6プラグイン管理4ListPluginTemplates、ShowPluginTemplate、ListPoolPlugins、CreatePoolPlugin
7ジョブとワークロード3ListWorkloads、ShowWorkloadStatistics、ListJobs
8スケジュールイベント2ListScheduledEvents、AcceptScheduledEvent
9OS 設定2ShowOsConfig、ShowOsQuota
10リソースフレーバーとイベント4ListResourceFlavors、ListEvents、ShowNodeConfigTemplate、ShowPoolNodeConfigTemplate

コマンドを実行する際は、正確なパラメーター名、必須/任意のフラグ、使用方法について、必ずリファレンスファイルを参照してください。


パラメーターの確認

パラメーター必須説明例
{region}はいHuawei Cloud のリージョンcn-north-4、cn-east-2
{pool_name}プール操作リソースプール名my-resource-pool
{node_name}ノード操作プールノード名node-xxx
{nodepool_name}NodePool 操作ノードプール名my-nodepool
{network_name}ネットワーク操作ネットワーク名my-network
{flavor_id}作成/サイズ変更リソースフレーバー IDmodelarts.vm.cpu.16u64g.d
{project_id}いいえ(自動)プロジェクト ID。省略時に自動解決デフォルトの場合は省略
{order_name}ShowOrder注文名order-xxx

SDK へのフォールバック

CLI の不具合により CLI 操作が失敗した場合は、SDK にフォールバックしてください。

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkmodelarts.v2.modelarts_client import ModelArtsClient
from huaweicloudsdkmodelarts.v2.region.modelarts_region import ModelArtsRegion

credentials = BasicCredentials(ak="{AK}", sk="{SK}", project_id="{project_id}")
client = ModelArtsClient.new_builder() \
    .with_credentials(credentials) \
    .with_region(ModelArtsRegion.value_of("{region}")) \
    .build()

参考ドキュメント

ドキュメント説明
references/cli-command-examples.md53 個すべての API の詳細な CLI コマンド構文と使用例
references/api-paths.mdSDK のソースに基づく REST API パス
references/iam-policies.md最小権限の IAM ポリシー
references/known-issues.md既知の問題と回避策
references/pricing-inquiry.md課金対象操作の BSS 料金確認ガイド
references/verification-method.md検証およびテスト方法
references/dataflow-diagram.mdMermaid データフロー図
references/acceptance-criteria.md受け入れ基準チェックリスト
references/cli-installation-guide.mdCLI のインストールと認証ガイド

既知の問題の概要

⚠️ 書き込み操作を行う前に、references/known-issues.md をお読みください。 以下のすべての問題は、実際の API テストで検証済みです。

重大(即時に失敗します):

  • PATCH 操作(PatchPool/PatchNetwork/PatchNodePool):Content-Type: application/merge-patch+json ヘッダーを付けて、--cli-jsonInput を使用する必要があります
  • BatchUpdatePoolNodes:--action の値は true/false ではなく、openHaRedundant/closeHaRedundant/createTags/deleteTags です。--cli-jsonInput を使用してください
  • CreatePool:ネットワーク名にはプロジェクト ID のサフィックスを含む完全な名前を指定する必要があります。プールタイプは Dedicate(末尾に d を付けない)です
  • CreateNodePool:count は 1 以上、maxCount は count 以下である必要があります
  • ShowNetworkAvailableIp:--network_id には spec.subnets[0].id ではなく、status.subnets[0].networkId の値を指定する必要があります
  • ListEvents:--resource は pool ではなく pools(複数形)である必要があります

既知の API の制限:

  • BatchResetPoolNodes:VM プールでは rollingConfig.strategy に有効な値がありません
  • BatchResizePoolNodes:通常の VM ノードではなく、ハイパーインスタンスのスケーリングのみをサポートしています
  • BatchMigratePoolNodes:移行元と移行先のクラスター名は異なる必要があります
  • DeleteNetwork:ネットワークがリソースプールで使用中の場合は失敗します(先にプールを削除してください)

データフィールドの場所:

  • ノードタグ:metadata.annotations["os.modelarts/tms.tags"](JSON 文字列。metadata.labels ではありません)
  • ノードのロック状態:metadata.annotations["os.modelarts.node/lock.action"]

詳細、回避策、実行前チェックリストについては、references/known-issues.md を参照してください。


注意事項

  • すべての書き込み操作(Create/Update/Delete/Patch/Batch/Accept)は、実行前にユーザーの確認が必要です
  • 課金対象の操作(CreatePool、CreateNodePool、PatchNodePool、BatchResizePoolNodes、CreateOrderId)では、実行前に BSS 料金を確認し、ユーザーに費用を知らせる必要があります
  • リージョンはハードコードされていません。{region} プレースホルダーを使用します
  • project_id を省略した場合は、自動的に解決されます
  • どのファイルにも AK/SK はハードコードされていません。認証情報は、エージェントセッション外でユーザーが hcloud configure set を使用して設定します
  • エージェントは認証情報の有無の確認に限り hcloud configure list を使用してください。AK/SK の値を読み取ったり、表示したりしてはいけません
  • 有効な認証情報が見つからない場合、エージェントは処理を停止し、3 ステップの設定手順をユーザーに案内する必要があります(「前提条件」セクションを参照)
  • CLI でバグが発生した場合は、SDK にフォールバックできます
  • 複雑なネストされたパラメーターには、JSON ファイルを指定して --cli-jsonInput を使用します

コメント