如何在没有主人的情况下使用 saltstack 模块?

How can I use saltstack modules without a master?

我 运行 生产中的 master minion 配置,但正在寻找无 master-less 配置。

我可以 运行 salt-call --local state.highstate 在孤立的机器上正确,但是否可以像这样使用 CLI 模块?

http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.mysql.html

编辑:

下面是一些调试和日志信息:

root@database-primary:~# salt-call --local mysql.db_exists '##########' -l debug
[DEBUG   ] Reading configuration from /etc/salt/minion
[DEBUG   ] Using cached minion ID from /etc/salt/minion_id: database-primary
[DEBUG   ] Configuration file path: /etc/salt/minion
[DEBUG   ] Reading configuration from /etc/salt/minion
[DEBUG   ] Please install 'virt-what' to improve results of the 'virtual' grain.
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] LazyLoaded jinja.render
[DEBUG   ] LazyLoaded yaml.render
[DEBUG   ] Could not LazyLoad mysql.db_exists
'mysql'' __virtual__ returned False
root@database-primary:~# tail -100 /var/log/salt/minion 
2015-03-22 13:32:52,834 [salt.config      ][DEBUG   ][7319] Reading configuration from /etc/salt/minion
2015-03-22 13:32:52,965 [salt.loaded.int.grains.core][DEBUG   ][7319] Please install 'virt-what' to improve results of the 'virtual' grain.
2015-03-22 13:32:52,990 [salt.utils.lazy  ][DEBUG   ][7319] LazyLoaded jinja.render
2015-03-22 13:32:52,992 [salt.utils.lazy  ][DEBUG   ][7319] LazyLoaded yaml.render
2015-03-22 13:32:52,999 [salt.utils.lazy  ][DEBUG   ][7319] LazyLoaded jinja.render
2015-03-22 13:32:53,000 [salt.utils.lazy  ][DEBUG   ][7319] LazyLoaded yaml.render
2015-03-22 13:32:54,121 [salt.utils.lazy  ][DEBUG   ][7319] Could not LazyLoad mysql.db_exists

是的,您可以在无主模式下通过 salt-call 运行 任何您想要的执行模块(当您传入 --local 参数或在您的 minion 配置中具有 file_client: local 时)

例如如果你想通过 mysql 模块创建一个名为 newdb 的数据库:

salt-call --local mysql.db_create 'newdb' 'utf8' 'utf8_general_ci'

state.highstate调用执行模块的另一个例子,见http://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#salt.modules.state.highstate

是的,你可以运行所有执行模块都没有主人。您 运行 遇到的问题是您似乎没有安装所需的 MySQL python 模块。

确保您已经安装了 python MySQLdb 模块。