Salt proxy state 可以用来在你的minion设备上部署、配置和运行一个salt-proxy实例。在 master 侧设置proxy配置信息、state状态配置,并在远程设备上运行 salt-proxy 服务。
- 首先需要确认你的 salt-master 服务正确配置了 pillar 数据。 为你的proxy选择一个 ID 标识 (在本示例中将 proxy 命名为了 'p8000')。 在你的 pillar topfile 文件中, 为proxy添加一个配置条目:
base:
'p8000':
- p8000
这表示 Salt 的 pillar 系统将为名为 p8000 的proxy加载从文件 /srv/pillar/p8000.sls 中加载一些数据 (假设你没有改变默认的 pillar_roots)
- 在你的base环境的 pillar root 路径下创建下面的 p8000.sls 文件:
proxy:
# set proxytype for your proxymodule
proxytype: ssh_sample
host: saltyVM
username: salt
password: badpass
- 在你的state状态树中创建下面这样的state状态 (我们把它命名为 salt_proxy.sls)
salt-proxy-configure:
salt_proxy.configure_proxy:
- proxyname: p8000
- start: True # start the process if it isn't running
- 确认你的 salt-master 和 salt-minion 服务在正常运行。
- 在你将要运行salt-proxy服务的minion节点上运行 state salt_proxy。 例如使用 state.sls 配置和运行 salt-proxy 服务:
# salt device_minion state.sls salt_proxy
这将在 device_minion
设备上启动 salt-proxy 服务。
6. 在你的 salt-master 服务上接受proxy的认证密钥。
salt-key -y -a p8000
The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.
- 现在可以在你的proxy上执行管理命令了。
salt p8000 pkg.list_pkgs