SuperAPI AI 工具集

huawei-cloud-cli-guidance

部署与运维

查看项目

更新于 10-15 13:49

技能介绍

华为云 KooCLI 命令行工具指导技能,面向使用 KooCLI 管理华为云资源的场景,提供完整的使用指引。

用途

本技能用于指导华为云 KooCLI(hcloud)命令行工具的操作,覆盖安装、认证配置、命令构造、输出格式化以及常见错误排查,帮助用户在命令行中高效管理华为云资源。

前置条件

使用前需要满足以下条件:

  • KooCLI 版本 7.2.2 或更高;
  • 有效的华为云账号及相应访问权限;
  • 认证凭据:访问密钥 AK 和 SK,或 IAM 用户凭据;
  • 可访问华为云服务端点的网络连接;
  • 操作系统为 Linux、macOS 或 Windows(支持 WSL)。

命令格式

KooCLI 采用统一命令格式:

hcloud <service> <operation> [parameters] [options]

结构说明:hcloud 为命令行工具名;<service> 为云服务名称(如 ECS、VPC、OBS 等);<operation> 为 API 操作名称(如 ListInstances、CreateVpc 等);[parameters] 为操作参数;[options] 为全局选项(如 --cli-region、--cli-output 等)。认证参数使用 --cli- 前缀,输出参数使用 --cli-output 指定格式,查询参数使用 --cli-query 进行 JMESPath 过滤。

安装

先检查本地版本:

hcloud version

预期输出为 7.2.2 或更高。若不满足,可执行一键安装:

curl -sSL https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh

非交互式安装:

curl -sSL https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh -y

认证配置

KooCLI 支持免配置用法(在命令中直接传入认证参数),也可通过 hcloud configure init 添加配置项。支持的认证模式值有 AKSK、ecsAgency、SSO、AssumeRole,推荐 AKSK。使用 --cli-mode 指定配置项的认证模式,使用 --cli-profile 指定配置项名称。

  • ecsAgency:在 ECS 服务器内使用,命令中指定 --cli-mode=ecsAgency,KooCLI 会根据 ECS 委托自动获取临时 AK/SK 和 SecurityToken。
  • AssumeRole:被委托方通过 --cli-agency-domain-id/--cli-agency-domain-name、--cli-agency-name 和 --cli-source-profile 选项,以免配置方式 AssumeRole 调用云服务 API。
  • SSO 登录:使用 hcloud configure sso 完成 SSO 登录,需要输入 SSO profile 名称、SSO 起始 URL、SSO 区域等。

认证模式选择

  • Profile 模式:适用于 Agent 会话、多次调用,命令如 hcloud configure init --cli-profile agent-profile,临时 profile 需要清理。
  • 显式参数模式:适用于一次性命令、CI/CD,每条命令传入认证参数,无本地配置。
  • 已有 Profile 模式:用户已配置时使用 --cli-profile <profile-name>,不修改配置。

显式参数模式示例:

hcloud <service> <operation>
--cli-access-key <AccessKeyId>
--cli-secret-key <SecretAccessKey>
--cli-region cn-north-4

查询帮助

构造任何命令前应查阅 --help 输出,帮助输出是权威来源:

  • hcloud --help 查询 KooCLI 支持的云服务列表;
  • hcloud <service> --help 查询服务的操作列表;
  • hcloud <service> <operation> --help 查询具体操作的帮助信息。

OBS 使用

KooCLI 集成了部分用于命令行管理 OBS 数据的 obsutil 功能。OBS 相关命令可能有两种形式:OpenAPI 风格 hcloud OBS <operation>;OBS 集成命令 / obsutil 风格 hcloud obs <command>。两者参数体系不同,执行前需分别查看帮助:hcloud OBS --help、hcloud OBS <operation> --help、hcloud obs help、hcloud obs help <command>。若未找到操作,需提示用户安装 obsutil 以获得完整功能。

输出与过滤

KooCLI 支持 json、table、tsv 三种输出格式,默认 json。使用 --cli-output 指定格式,--cli-query 配合 JMESPath 表达式过滤结果,--cli-output-num 控制 table 输出是否打印行号。JMESPath 查询字段必须依据实际 JSON 返回结构编写。

调试与常见问题

排查命令失败时,可先添加 --cli-debug=true 查看底层请求、响应、端点、参数解析和认证信息。KooCLI 错误分为五类,在错误提示开头声明:

  • [NETWORK_ERROR]:通常为 HTTP 请求异常,检查网络连接;
  • [CLI_ERROR]:通常为 KooCLI 自身异常,联系 KooCLI oncall;
  • [USE_ERROR]:通常为命令参数错误,按提示修改;
  • [OPENAPI_ERROR]:调用云服务 API 时出错,联系相关云服务 oncall;
  • [APIE_ERROR]:调用 API Explorer 获取元数据时出错,联系 API Explorer 云服务 oncall。

安全

凭据安全:不得在对话或命令中暴露 AK/SK 值;不得让用户直接在对话中输入 AK/SK;不得使用 hcloud configure set 传入明文凭据;仅使用 hcloud configure list 检查凭据状态;云环境建议使用 IAM 用户而非主账号;敏感操作启用 MFA。

操作安全:修改类操作(安全组规则、重启、删除等)前必须获得用户确认;优先使用只读 API;生产环境操作需风险提示;报告输出中不得出现敏感信息。

配置安全:不同环境使用独立 profile;定期轮换凭据;遵循最小权限原则;清理临时 profile;加密敏感配置信息。

限制与暂未提供

资料未提供具体的收费和价格信息,也未提供各类云服务的完整操作清单、具体参数取值和响应结构示例;这些需要依据 --help 输出和实际 JSON 返回结构确认。