CLI 规范
使用命令行界面
本文档适用于创建新 DC/OS CLI 子命令的开发人员。另请参阅 Catalog 入门指南。
DC/OS 命令行界面 (CLI) 是管理群集节点、安装和管理包、检查群集状态,以及管理服务和任务的实用程序。DC/OS CLI 开放且可扩展:任何人都可以创建新子命令,可供最终用户安装。例如,[Spark DC/OS 服务] 2 提供了兼容 Spark 的 CLI 扩展。安装后,您可以键入以下命令以提交 Spark 作业并查询其状态:
dcos spark [<flags>] <command>
DC/OS CLI 发现子命令的方式
运行 dcos
命令时,它会在当前 shell 的 PATH 中搜索 dcos-
目录中名称前缀为 ~/.dcos/clusters/<cluster_id>/subcommands/<package_name>/env/bin
的可执行文件。
安装 CLI 子命令
如需安装 CLI 子命令,请运行:
dcos package install <package>
或
dcos package install <package> --cli
DC/OS 服务和 CLI 子命令同样采用 打包格式和资料库 。
重要信息:CLI 模块是群集特定的,存储在 ~/.dcos/clusters/"cluster_id"/subcommands
. 必须为每个群集安装 CLI 模块。例如,如果连接到群集 1 并安装 Spark 模块,则连接到也运行 Spark 的群集 2。在安装该群集的模块之前,Spark CLI 命令不可用。
创建 DC/OS CLI 子命令
要求
*适用于 Mac、Linux 和 Windows 的可执行文件
标准标记
必须为每个DC/OS CLI 子命令分配一组如下标准标记:
--info
--help
-h
–info
--info
标记显示一行简短描述,描述了子命令的功能。该内容在用户运行 时显示。dcos help
.
Spark CLI 的示例:
dcos spark --info
Spark DC/OS CLI Module
运行没有参数的 dcos
命令时,就会为每条子命令返回该信息:
dcos | grep spark
spark Spark DC/OS CLI Module
–help 和 -h
--help
和 -h
标记均显示子命令的详细使用情况。
Marathon CLI 示例:
dcos marathon --help
Description:
Deploy and manage applications to DC/OS.
...
子命令命名规范
DC/OS CLI 子命令命名规范为:
dcos <subcommand> <resource> <verb>
resource
通常是名词 ,verb
是资源支持的操作。例如在以下命令中, resource
是 app
,而操作是 add
:
dcos marathon app add
子命令记录
环境变量 DCOS_LOG_LEVEL
设置为用户在命令行中设置的日志级别。
[Python 的日志记录] 中描述了日志记录级别7: DEBUG, INFO, WARNING, ERROR and CRITICAL.
打包 CLI 子命令
要使您的子命令可供最终用户使用:
将包条目添加到 Mesosphere Catalog 存储库。请参阅 Catalog README,了解规范。
包条目必须包含名为 resource.json 的文件,其中包含可执行子命令的链接。
运行 时:
dcos package install <package> --cli
:从存储库中检索
<package>
的包条目。resource.json
文件被解析为查找 CLI 资源。用户平台的可执行文件已下载。
DC/OS CLI 模块
DC/OS CLI 模块 具有一套用于子命令开发人员的工具。
示例:Hello World 子命令
Hello World 示例 执行称为 的新子命令:helloworld
:
dcos package install helloworld --cli
dcos helloworld