SaltStack:Salt SSH

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"

时间: 2025-01-03 22:56:33

SaltStack:Salt SSH的相关文章

基于Salt Master/Minions快速构建Salt SSH环境

前置阅读 环境说明 开工 创建用于Salt SSH环境的用户及key认证管理环境 配置Mine,以获取Minion id及IP地址 生成Salt Rosters 应用Salt SSH 后话 Salt 0.17版本已发布,该版本中重要的特性是引入了Salt SSH系统,提供了无需Minion.基于SSH的维护方式.原有的Salt维护环境已经初具规模,再手动重新构建Salt SSH环境成本较高.偷懒是人的天性,利用原有SaltStack Master/Minions环境,如何快速构建新的Salt S

Salt SSH

Salt可以使用SSH来管理,对于没有安装salt-minion的客户端,可以使用salt-ssh.但是其执行速度要比安装salt-minion 慢. Salt-SSH的使用 如果要使用salt-ssh,需要在管理端安装salt-ssh: # yum install salt-ssh -y 使用salt-ssh不能配置job-cache,否则会产生冲突. 修改配置文件 /etc/salt/roster,配置要管理的主机: # vim  /etc/salt/roster node1:   host

saltstack salt 命令用法以及模块(二)

[[email protected] ~]# salt --help Usage: salt   [options]    '<target>'    <function>     [arguments] Options:   --version             show program's version number and exit [[email protected] ~]# salt --version salt 2015.5.5 (Lithium) --vers

saltstack/salt的state.sls的使用

SLS(代表SaLt State文件)是Salt State系统的核心.SLS描述了系统的目标状态,由格式简单的数据构成.这经常被称作配置管理 首先,在master上面定义salt的主目录,默认是在/srv/salt/下面,vim /etc/salt/master: file_roots: base: - /srv/salt dev: - /srv/salt-dev 然后,在/srv/salt下面创建top.sls文件(如果有的话,就不用创建了,直接编辑好了) vim top.sls base:

saltstack/salt的state.sls和pillar定义以及使用

SLS(代表SaLt State文件)是Salt State系统的核心.SLS描述了系统的目标状态,由格式简单的数据构成.这经常被称作配置管理 首先,在master上面定义salt的主目录,默认是在/srv/salt/下面,vim /etc/salt/master: file_roots:    base:      - /srv/salt    dev:     - /srv/salt-dev 然后,在/srv/salt下面创建top.sls文件(如果有的话,就不用创建了,直接编辑好了) vi

4 saltstack ssh

1.salt ssh https://docs.saltstack.com/en/latest/topics/ssh/index.html 免agent的 Salt ssh 串行 执行的时候,发送给其他的,etc目录下,跑完后删除 1.安装 [[email protected] ~]# yum install salt-ssh -y 安装后生成roster,roster花名册 记录目标的 2.配置 [[email protected] salt]# vim /etc/salt/roster li

saltstack的探索-salt指定目标和分组

一.探讨一下,如何针对指定的minion id来执行 先了解官网文档的targeting这一节的内容: Targeting Salt allows for minions to be targeted based on a wide range of criteria. The default targeting system uses globular expressions to match minions, hence if there are minions named larry1, 

saltstack自动化运维平台的介绍、部署、基本使用

saltstack:服务器基础架构集中化管理平台,有配置管理.远程执行.监控等功能,基于Python语言开发,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack和PyYAML等)构建, 优点(1.部署简单便捷:2支持的系统多样:3配置简单,功能强,扩展性好:4基于主从,用证书建立连接,安全性高:5支持API及自定义模块) 认证minion在启动时,会在/etc/salt/pki/minion自动生成minio

SaltStack (一)

SaltStack介绍 saltstack是一个开源的批量分发管理工具,具有非常强大的管理功能,能同时管理上万台服务器.由python语言编写,并提供API. saltstack有四种运行方式:Local, Master/Minion, Salt SSH,Syndic saltstack有三大功能:远程执行,配置管理(状态),云管理. saltstack支持多种常见的操作系统,包括Windows(只能做为minion). saltstack是依赖于ZeroMQ来实现的(订阅发布模式),监听450