如何使用CLI
华为云命令行工具服务(Koo Command Line Interface,KooCLI,原名HCloud CLI)是为发布在API Explorer上的云服务API提供的命令行管理工具。您可以通过此工具调用API Explorer中云容器实例(CCI)开放的API,管理和使用您的云容器实例(CCI)资源。关于KooCLI的详细信息,请参见什么是KooCLI。
安装KooCLI
在使用KooCLI前,您需要先安装KooCLI。KooCLI支持Windows、Linux和macOS三种操作系统,请根据您机器所使用的操作系统,安装对应版本的工具。
配置KooCLI初始化
使用KooCLI调用API时,需要获取调用者的身份信息用于认证鉴权。通过配置KooCLI初始化,可以把永久AK/SK信息存储在配置文件中,避免在调用API时频繁输入这些固定信息。
如果您不希望通过配置文件传入认证信息,而是直接在命令中传入认证相关参数,可跳过此步骤,具体操作可参见无配置方式使用KooCLI。
此处以Windows系统为例介绍如何配置KooCLI的初始化,Linux和MacOS系统的操作类似。在配置初始化前,您需要提前获取AK/SK信息,具体操作请参见新增访问密钥。
- 打开命令行窗口。
- 执行以下命令进行初始化配置。
hcloud configure init
- 根据界面提示输入各参数值。
Access Key ID [required]: //必填,输入AK Secret Access Key [required]: //必填,输入SK,输入内容时系统会匿名化处理 Secret Access Key (again): //必填,再次输入SK,输入内容时系统会匿名化处理 Region: //选填,输入Region
完成后,界面提示“初始化配置成功”。
生成和执行CLI命令
KooCLI支持两种命令生成方式:
- 通过API Explorer快速生成并获取调用API的CLI命令。推荐通过API Explorer获取CLI命令,更方便快捷。
- 通过CLI命令查询API的操作命令和相关参数信息,然后手动拼接调用API的CLI命令,具体操作可参见查看与执行云服务操作命令。
此处以CCI V2版本的查询所有Namespace API为例,介绍如何从API Explorer生成CLI命令,然后执行CLI命令调用API。
- 访问API Explorer,选择当前版本和要生成CLI命令的API。
- 在中间的参数配置区域,设置调用API所需的参数。
- 在右侧区域选择“CLI示例”页签,查看生成的CLI命令。
hcloud CCI listNamespaces/v2 --cli-region="cn-north-4"
- 复制生成的CLI命令,并粘贴到命令行窗口中执行。
查询所有Namespace API的CLI命令执行结果示例如下。
{ "kind" : "NamespaceList", "apiVersion" : "cci/v2", "metadata" : { }, "items" : [ { "metadata" : { "name" : "test-namespace", "uid" : "ba7971af-33aa-4c6b-b9a4-xxxxxxxxxxxx", "resourceVersion" : "752095304", "creationTimestamp" : "2025-05-26T08:13:38Z", "labels" : { "kubernetes.io/metadata.name" : "test-namespace", "sys_enterprise_project_id" : "0" }, "annotations" : { "namespace.kubernetes.io/instance-trust-agency-enabled" : "true", "namespace.kubernetes.io/need-resync-secret" : "20260718022702", "tag.cci.io/tms-tags" : "", "tenant.cci.io/tenant-id" : "08a2*************************c03", "tenant.kubernetes.io/domain-id" : "08a*************************ee60", "tenant.kubernetes.io/domain-name" : "fake-user", "tenant.kubernetes.io/project-id" : "08a2*************************c03", "tenant.kubernetes.io/project-name" : "region1", "volcano.sh/queue-name" : "v1-queue" } }, "spec" : { "finalizers" : [ "kubernetes" ] }, "status" : { "phase" : "Active" } } ] }