Articles of saltstack

限制salt命令的输出仅限于可以连接的小兵

当你从盐主(例如salt '*' test.ping )发出一个盐呼叫时,输出包括无法与之通话的奴隶,主机名,然后在下一行显示一条消息“奴才没有返回“。 有没有办法将输出仅限制在可以连接的那些小手中? 我以为有办法做到这一点,但我没有在手册页或文档中看到它。

Saltstack:在多个可用区域中部署EC2实例

刚开始学习Saltstack来控制AWS的基础架构。 我们正在开发一个时间非常重要的应用程序,因此我们需要从一开始就部署一个分布式基础架构,以实现较低的传输时间。 我开始看盐,因为它简单而有效。 但是现在我需要部署这些实例,而且我不了解其中的一些程序。 Salt要求您定义提供者。 在提供商中,您可以指定区域和可用性区域。 问题是:如果你需要在几个地区和可用区域部署,它很快就会变得混乱和太久。 这个问题? 有什么办法可以自动化,而不必硬编码几十个可用区域?

禁用ECN:Netsh:当通过SaltStack cmd.run执行时,参数不正确

我试图在AWS EC2中托pipe的一组Windows Server 2012r2服务器上批量禁用显式networking拥塞通知 。 我正在使用Salt Stackconfigurationpipe理工具。 当我执行命令从本地禁用ECN时,从提升的命令提示符下的服务器上: netsh int tcp set global ecncapability=disabled 它工作正常 – ok 当我从盐主执行它时: salt -G "os:windows" cmd.run 'netsh int tcp set global ecncapability=disabled' 它返回 Set global command failed on IPv4 The parameter is incorrect. 其他netsh命令正常工作。 我已经尝试了几个其他的修复 ,包括执行C:\ windows \ system32 \ netsh.exe中的netsh,以及C:\ windows \ sysWOW64 \ netsh.exe。 两者都不会产生同样的错误。我正在运行Salt Master版本2016.11.4 Carbon。

强制重build一个奴才的国家?

TL; DR 我已经开始使用Saltstack控制所有的虚拟机。 我已经设置了两个独立的环境, init和base ,分别在新部署的虚拟机和正在进行的configurationpipe理上安装minion。 成功部署了一个小兵后,它就坚持从两个环境中的状态! 我不要那个。 只能根据base环境进行pipe理。 为什么它使用这两个环境,我怎么强迫它在初始部署之后不再关心init环境? 部署了一个新的虚拟机,我使用salt-ssh来build立仓库,安装salt minion并启动它。 之后,我salt来pipe理我的虚拟机。 所以对于每一个新的虚拟机我(一次) salt-ssh -i 'anewhost' state.apply 之后我做/ cron呢 salt '*' state.apply 我的文件根目录的configuration是我的主configuration文件的唯一内容: file_roots: base: – /srv/salt/base init: – /srv/salt/init 为了使虚拟机成为一个小工具,我使用了一个名单文件。 /etc/salt/roster ,每块看起来像这样: anewhost: host: anewhost.mydomain.tld user: root passwd: rootpw minion_opts: environment: init 这个想法是 当我做state.apply使用salt-ssh ,状态是从/srv/salt/init/top.sls 当我使用salt进行state.apply时,状态是从/srv/salt/base/top.sls开始/srv/salt/base/top.sls 会发生什么事情, salt-ssh行为与预期的完全相同,但salt创造了一些统一的憎恶,实际上包含了两个状态,由init和base描述。 salt显然记得init环境,并把它拉进来,不pipe我做什么。 我如何让它忘记init环境? 编辑:Quickfix 我通过增加我的init状态来修复它以将environment: base添加到/etc/salt/minion […]

saltstack:如何将一把钥匙从盐切换到盐师傅?

简短的版本 :如何获得test.ping工作,钥匙后-A被test.ping ? 如果你从主人那里把它取出,怎么重新推一个钥匙? 长版本 :重现步骤: 在两个RPI上 从2014-09-09-wheezy-raspbian图像的RPI上安装最新的Raspbian aptitude upgrade aptitude install build-essential python-dev javascript-common libjs-jquery msgpack-python python-async python-crypto python-git python-gitdb python-jinja2 python-m2crypto python-mako python-markupsafe python-pkg-resources python-smmap python-yaml wwwconfig-common 添加deb http://debian.saltstack.com/debian wheezy-saltstack main到/etc/apt/sources.list 安装盐2014.7.0或其附近 不起作用 卸载它 git clone –depth=1 https://github.com/saltstack/salt.git sudo pip install -e ./salt 在minion RPI上,编辑/etc/salt/minion并将master: salt改为master: salt的IP。 salt-master -l debug一个RPI, salt-minion -l debug […]

有一种更习惯的方式来切换基于主机操作系统的盐状态?

在我的国家档案的顶部,我有: {% if grains['os'] == 'Ubuntu' %} {% set ubuntu = True %} {% set arch = False %} {% elif grains['os'] == 'Arch' %} {% set ubuntu = False %} {% set arch = True %} {% endif %} 稍后的, {% if ubuntu %} cron: {% elif arch %} cronie: {% endif %} pkg.installed […]

通过SaltStack安装RVM(无法安装Ruby)

我在这里使用saltstack文档来在我的salt-minions上安装RVM 盐2015.5.2(锂) 在Ubuntu 14.04系统上 这是我的ruby的init.sls文件。 gpg-import-D39DC0E3: cmd.run: – user: rvm – require: – user: rvm – name: gpg –keyserver hkp://keys.gnupg.net:80 –recv-keys D39DC0E3; echo '409B6B1796C275462A1703113804BB82D39DC0E3:4:' |gpg –import-ownertrust – unless: gpg –fingerprint |fgrep 'Key fingerprint = 409B 6B17 96C2 7546 2A17 0311 3804 BB82 D39D C0E3' rvm-deps: pkg.installed: – pkgs: – bash – coreutils – gzip – […]

盐:支柱数据的属性?

我想要从saltstack支柱的数据属性(计算属性): 我们像这样构build我们的系统: systems: – customer: foo project: bar stage: p … – customer: foo project: bar stage: q … 我想计算一个像这样的variables“system.name”: "{customer}_{project}_{stage}" 。 从上面的例子我会得到这两个计算值: system.name =“foo_bar_p” system.name =“foo_bar_q” 我可以像system.customer或system.project一样访问system.name 。 如何做到这一点?

如果SaltStack目录是/ srv / salt的子目录,会不会有问题?

SaltStack的大部分示例(也包括文档)都将/srv/salt下的状态文件和/srv/pillar下的支柱文件放在一起。 这意味着如果我想使用源代码控制(Mercurial或Git)跟踪文件,我必须创build两个存储库。 现在,我想将状态文件和支柱文件作为子目录放在/srv/salt 。 换句话说,我将获得以下目录结构(在/srv/salt上的hg init之后): /srv/salt + .hg/ + states/ + pillars/ 这会造成SaltStack的任何问题吗? 还是你有更好的build议,以便我只能有一个国家和支柱的源代码控制库?

SaltStack:哪个防火墙规则的输出stream量小兵?

在minion服务器上默认closures所有OUTPUT端口的networking上,只有需要打开的端口,我必须在minion服务器上打开哪些端口用于Salt主控和Salt控制之间的通信? 这是在Debian GNU / Linux 8.5(jessie)上,Salt master和minions版本为2016.3.3(Boron)