salt-cloud Command Line Reference - salt-cloud命令的使用方法

使用Salt在云平台中配置和管理虚拟机。
您也可以参考在Github上维护的这一份技术资料:salt-cloud Command Line Reference

Synopsis - 概要

salt-cloud -m /etc/salt/cloud.map

salt-cloud -m /etc/salt/cloud.map NAME

salt-cloud -m /etc/salt/cloud.map NAME1 NAME2

salt-cloud -p PROFILE NAME

salt-cloud -p PROFILE NAME1 NAME2 NAME3 NAME4 NAME5 NAME6

Description - 描述

Salt Cloud是用于通过简洁受控的配置文件和配置映射系统在各种公共云上置备虚拟机的管理系统。

Options - 配置选项

通用选项
  • –version

打印正在运行的Salt软件版本。

  • –versions-report

显示程序的依赖关系和版本号,然后退出。

  • -h, --help

帮助信息。

  • -c CONFIG_DIR, --config-dir=CONFIG_dir

Salt配置文件存放目录的位置。 该目录包含Salt master和Minions的配置文件。 大多数系统上的默认位置是/etc/salt。

Execution Options - 执行模块选项
  • -L LOCATION, --location=LOCATION

指定要连接到的区域。

  • -a ACTION, --action=ACTION

执行特定于此云服务商的平台管理操作。 此参数需要指定一个或多个实例的名称。

  • -f , --function=

执行那些针对特定的云提供商软件的管理功能,这些功能函数一般不适用于管理虚机实例。 此参数要求指定一个provider提供者(例如 nova)。

  • -p PROFILE, --profile=PROFILE

选择一个配置文件以从中构建指定的云主机VMs。 必须在参数指定的配置文件中定义VMs的配置文件。

  • -m MAP, --map=MAP

指定要使用的map映射文件。 如果不带任何其他选项,则此选项将创建所有映射的VMs。 如果命名的VM已经存在,则将被跳过。

  • -H, --hard

指定映射文件时,默认行为是确保创建映射文件中指定的所有VMs。 如果设置了–hard选项,则将销毁在映射文件中未指定的已配置云平台上存在的所有VMs。 请注意,这可能是破坏性的操作,应谨慎使用。

  • -d, --destroy

传递虚拟机的名称以进行销毁,salt-cloud将在配置的云平台中搜索指定的名称并销毁虚拟机。 请注意,这是破坏性操作,应谨慎使用。 可以与-m选项一起使用,以指定要删除的VM的映射。

  • -P, --parallel

通常在构建许多云主机实例时,它们是按顺序依次执行的。 -P 选项则会为每个云虚拟机的构建创建一个独立的工作进程,从而允许一次构建出大量的云主机。

请注意,某些云平台提供商的系统似乎不太适合这种大量的虚拟机创建。 创建一大组VMs时,请先仔细了解云平台提供商的功能支持情况。

  • -u, --update-bootstrap

更新salt-bootstrap为最新的稳定发行版。

  • -y, --assume-yes

在所有的需要确认的问题中,都提供一个yes的默认回复。

  • -k, --keep-tmp

在执行deploy.sh脚本完成后,不要清除/tmp下的临时数据。

  • –show-deploy-args

在返回的数据中包含部署minions使用的选项。

  • –script-args=SCRIPT_ARGS

在部署VM实例时,传递给bootstrap脚本使用的参数选项。

Query Options - 查询选项
  • -Q, --query

执行查询并返回有关在已配置的云平台上运行的节点的一些信息。

  • -F, --full-query

执行查询并打印出有关所有云主机的所有可用信息。 可以与 -m 一起使用,仅显示有关指定映射的信息。

  • -S, --select-query

执行查询并打印出有关所有云主机的选定信息。 可以与 -m 一起使用,以仅显示有关指定映射的信息。

  • –list-providers

显示已加入配置的云平台的列表。

  • –list-profiles

New in version 2014.7.0.

显示已配置的profiles配置文件列表。 传入云平台provider参数则可以查看与其相关的profiles配置文件,例如digitalocean,或传入 all 以列出所有已配置的profiles配置文件。

Cloud Providers Listings - 云平台列表选项
  • –list-locations=LIST_LOCATIONS

显示已配置的云平台providers中可用的位置区域的列表。 传递给云平台期望使用的位置选项值,如"linode",或传递参数值"all"以列出所有已配置云平台中的位置区域信息。

  • –list-images=LIST_IMAGES

显示已配置的云平台中可用的镜像列表。 传递给云平台期望使用的镜像,如"linode",或传递"all"以列出所有已配置云平台服务商的镜像资源。

  • –list-sizes=LIST_SIZES

显示已配置的云平台中可用配置规格的列表。 传递期望使用的规格给云平台,如"AWS",或传递"all"以列出所有已配置的云平台上可用的云主机配置规格。

Cloud Credentials - 云平台身份凭据配置参数
  • –set-password=

    配置云平台服务商的密码凭据并将其保存到keyring密钥环。 可以在有或没有驱动程序的情况下指定PROVIDER,例如:"–set-password bob rackspace"或更具体的"–set-password bob rackspace:openstack"(已弃用!)

Output Options - 输出信息的配置选项
  • –out

传入一个替代的outputter,用于输出展示返回的数据。 该outputter可以是以下任何可用的outputters之一:

highstate, json, key, overstatestage, pprint, raw, txt, yaml,以及很多其它可选用的。

某些outputters仅针对从特定功能返回的数据进行格式化。 如果使用的outputters不支持处理传递给它的数据,则Salt将退回到使用pprint outputter,并使用Python pprint标准库模块显示返回数据。

注意:如果使用--out=json,则可能还需要同时使用--static。 如果没有static选项,则每个minion都会输出一个单独的JSON字符串,这会使JSON输出整体上无效。 这是由于在整体上的输出器使用产生失迭代所致。 因此,如果要将其发送到JSON解析器时,也请使用--static

  • –out-indent OUTPUT_INDENT, –output-indent OUTPUT_INDENT

在输出中打印以空格提供的缩进。 负值表示禁用缩进。 仅适用于支持缩进的outputters输出程序。

  • –out-file=OUTPUT_FILE, –output-file=OUTPUT_FILE

输出到外部文件。

  • –out-file-append, –output-file-append

将输出信息追加到外部文件。

  • –no-color

禁止使用彩色显示输出信息。

  • –force-color

强制使用彩色渲染输出的信息。

注意:使用彩色输出时,颜色代码如下:

green表示成功,red表示失败,blue表示更改和成功,yellow表示预期的将来配置更改。

  • –state-output=STATE_OUTPUT, –state_output=STATE_OUTPUT

覆盖配置的minion输出设置中的state_output值。 取值为’full’, ‘terse’, ‘mixed’, ‘changes’ 或 'filter’之一。 默认值:‘none’。

  • –state-verbose=STATE_VERBOSE, –state_verbose=STATE_VERBOSE

覆盖为minion输出配置的state_verbose值。 设置为True或False。 默认值:none。

使用示例

使用指定的profiles配置文件创建出名为 web1, web2, db1, 和 db2的四个虚机 :

salt-cloud -p fedora_rackspace web1 web2 db1 db2

读取映射文件并创建其中指定的所有VMs:

salt-cloud -m /path/to/cloud.map

读取映射文件且并行创建其中指定的所有VMs,执行以下操作:

salt-cloud -m /path/to/cloud.map -P

删除映射文件中指定的所有VMs:

salt-cloud -m /path/to/cloud.map -d

删除那些在映射文件中没有指定的VMs:

salt-cloud -m /path/to/cloud.map -H

显示在映射文件中指定的所有VMs的状态:

salt-cloud -m /path/to/cloud.map -Q

See also: salt-cloud(7) salt(7) salt-master(1) salt-minion(1)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐