码迷,mamicode.com
首页 > 其他好文 > 详细

SaltStack:Salt SSH

时间:2015-04-04 01:22:52      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:master   客户端   包装   通信   通道   

20. Salt SSH

在版本0.17.0当中,引入了新的传输系统,它支持通过SSH通道来实现Salt的通信。通过这种方式,我们可以将Salt routines直接通过SSH通道在远程主机上执行,而不需要在远程主机上运行Salt Minion,同样的道理,Salt Master也就不需要运行了。这样,也就实现了免客户端的方式的部署和实施。

注解:

Salt SSH 并不能完全取代标准的Salt通信方式,它只是简单的提供了一个基于SSH通道的可选方式,这种方式不需要ZeroMQ和远程Agent的支持。但必须意 识到的是,通过Salt SSH的执行速度会大幅度的低于有ZeroMQ支持的标准的Salt通信方式。


Salt SSH 使用起来非常简单,只需要创建一个基本的“roster”文件用于连接远程主机,然后通过“salt-ssh”命令来执行,具体的命令格式与标准的“salt”命令基本一致。

注解:

Salt SSH最终应该像标准 salt 一样支持同样的命令和功能。

目前文件服务操作必须包装成相关文件传递给 salt-ssh 命令。state模块是一个例外,它将在master上编译为state运行,并在这过程中发现所有 salt:// 路径的引用,然后当state运行时拷贝那些文件到同样的tar包。但是,所需的文件服务包装器仍然在开发中。


20.1 Salt SSH POSTER

Salt中的roster系统将使指定远程的minions操作变得简单.

简单的创建下roster文件,默认的本地路径是/etc/salt/roster:

web1: 192.168.42.1

这是一个非常基本的roster文件,指定了Salt ID及IP地址.  更为复杂的roster如下:

web1:
  host: 192.168.42.1 # The IP addr or DNS hostname
  user: fred         # Remote executions will be executed as user fred
  passwd: foobarbaz  # The password to use for login, if omitted, keys are used
  sudo: True         # Whether to sudo to root, not enabled by defaultweb2:
  host: 192.168.42.2

20.2 调用Salt SSH

The salt-ssh command can be easily executed in the same way as a salt command:

salt-ssh ‘*‘ test.ping


salt-ssh 命令的语法和 salt 命令类似.

Salt标准函数可以直接执行! 其输出也和 salt 命令一样,也有一些参数可以指定,可以访问 http://docs.saltstack.com/ref/cli/salt-ssh.html 获取这些参数选项.

20.3 通过salt SSH进行状态管理

salt-ssh 也可以直接使用Salt状态管理系统. 状态管理系统在 salt-ssh 中抽象为和 salt 同样的接口,这样就保证了通过 salt-ssh 及vice-versa可以直接使用标准的 salt Formulase而无需做修改.

Salt状态管理演练可以直接将 salt 命令直接替换为 salt-ssh 即可使用.


20.4. Salt SSH Target

由于salt-ssh中的target与salt几乎不一致,当前只支持glob及正则target, 其他的target系统也会不断的加入进来.


20.5. 配置Salt SSH

Salt SSH从master配置文件提取自己的配置。通常情况下,配置文件位于 /etc/salt/master。如果想使用一个自定义的配置文件,传递 -c 选项给Salt SSH指定一个查找目录,包含文件名 master


20.6. 用非root用户运行Salt SSH

默认情况下,salt从/etc/salt/读取所有配置。如果你使用普通用户运行Salt SSH,必须修改一些路径,否则你会收到"Permission denied"信息。你必须修改两个参数: pki_dircachedir。应该指向一个对于用户可写的绝对路径。

不建议直接修改 /etc/salt。为用户创建一份/etc/salt的私有拷贝并且运行命令行加上``-c /new/config/path``。


20.7. 利用Saltfile定义CLI选项

如果您通常通过CLI中的选项"salt-ssh" ,你可以创建一个"Saltfile" 自动使用这些选项。如果你在同一台服务器上管理多个不同的salt项目,这是常见的。

因此,如果您使用一个Saltfile"cd"进一个目录,内容如下:

salt-ssh:
  config_dir: path/to/config/dir
  max_prox: 30

而不是调用"salt-ssh --config-dir=path/to/config/dir --max-procs=30 * test.ping" 你可以调用"salt-ssh * test.ping"

本文出自 “Linux革命” 博客,请务必保留此出处http://kaibinyuan.blog.51cto.com/7304008/1628135

SaltStack:Salt SSH

标签:master   客户端   包装   通信   通道   

原文地址:http://kaibinyuan.blog.51cto.com/7304008/1628135

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!