问题标签 [salt-stack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
495 浏览

mercurial - saltstack可以自己更新然后highstate吗?

Salt stack 与bit bucket一起使用。我们中有 2-3 个人偶尔会推送更新。我想知道有没有一种方法可以让盐堆栈从位桶然后高状态获取最新更改?如果是这样,你会怎么做?

0 投票
1 回答
3149 浏览

windows - SaltStack 在 Windows 上执行未签名的 powershell 脚本

有没有办法将开关运算符传递给为执行脚本而创建的 powershell 提示符。基本上我有一个执行powershell脚本的状态文件:

但这不起作用。

因为一个肮脏的解决方案是通过cmd运行脚本:%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -executionpolicy Bypass -File

有什么方法可以在状态文件本身中设置执行策略标志?

谢谢!

0 投票
1 回答
1529 浏览

salt-stack - 如何匹配字典中支柱属性的值?

我正在尝试编写一个与支柱值匹配的状态文件,但我不确定如何(或是否可能)匹配 dicts 中支柱属性的值。salt.module.match API 文档没有详细说明这一点,而且没有一个明显的方法是富有成效的

我尝试调试这种情况的方法是pdb_trace()在 match.py​​ 中插入一个并在前台运行 salt-minion,但这完全没用,导致通信错误而不是调试 shell,可能是由于 Salt 与 ØMQ 的奇怪交互。:)

/srv/salt/top.sls澄清一下,目标是在我的文件中有这样的工作:

我已经确认在这个奴才的支柱中salt clowder match.pillar "foo:bar"适用于我的设置(返回True) 。foo: bar

另外,我相信从不同的角度来看这是同一个问题:

我只是将它包括在内,因为到目前为止我收到的唯一建议是“使用 -I”标志。:)

0 投票
2 回答
105 浏览

deployment - Are requisites required, or is order sufficient?

The Salt docs are full of this kind of pattern:

This repetition ("install apache, now check whether apache was installed") seems to be a violation of don't-repeat-yourself (DRY). So is it necessary?

From "Understanding State Ordering":

To accomplish something similar to how classical imperative systems function all requisites can be omitted and the failhard option then set to True in the master configuration, this will stop all state runs at the first instance of a failure.

This seems to imply that the use of requisites everywhere is actually optional (assuming that the declaration order is correct) - but I'd like to know for sure.

0 投票
2 回答
7986 浏览

salt-stack - Saltstack 用于“配置 make install”

我被 SaltStack 弄湿了。我已经完成了我的第一个状态(具有静态配置的 Vim 安装程序),我正在处理我的第二个状态。

不幸的是,没有我想要安装的应用程序的 Ubuntu 软件包。我将不得不自己构建应用程序。是否有使用 Salt 进行“configure-make-install”类型安装的“最佳实践”? 还是我应该只使用cmd?

特别是,如果我是手工做的,我会做一些类似的事情:

0 投票
7 回答
11457 浏览

python - 如何在 Jinja2 宏中引发异常?

我有一个宏,用于使用debmirror.

这是代码片段:

endif关键字处,我想else用来引发异常,例如:

需要 key_url 或 keyserver 和 keyid。

可能吗?

0 投票
1 回答
270 浏览

python - Saltstack 通过事件和 salt-call 管理和查询 Tally/Threshold?

我有超过 100 个使用应用程序的 Web 服务器实例,我们偶尔(整个机群中每周一次的顺序)看到其中一个缓存损坏,这会导致一个独特的错误日志消息。

一旦发生这种情况,那么应用程序在该节点上就死了,任何路由到它的事务都将失败。

我编写了一个简单的包装器tail -F,可以在任何时候发现它出现在日志文件中的模式并评估一个 shell 命令(使用 eval)来做出反应。我使用salt-call中的命令来触发处理自定义模块,该模块会关闭服务器、预热(刷新)缓存,当然,还会重新启动 Web 服务器。(实际上我有两种形式的这个包装器和 Python)。bash

这很好,而且事件的频率如此之高,不太可能成为问题。然而,我的老板相当合理地担心一种常见的模式故障模式......正则表达式可能会同时出现在太多的这些日志中并占据整个站点。

我的第一个想法是将我包装salt-call在一个检查中(我们已经有一个用于缓存和某些其他数据结构的 Redis 基础设施)。这将被实现为一个具有过期时间的整数。检查将调用 INCR,检查结果,如果返回的 N 多(或者如果 Redis 服务器无法访问)则休眠。如果结果低于阈值,salt-call则将分派并在服务器备份并运行后调用递减。(Redis 密钥的过期可能会在一天甚至几个小时后终止任何陈旧的增量......我们的警报系统已经通知我们服务器已关闭,并且我们的响应时间对于这样的时间框架来说绰绰有余)。

但是,我正在阅读有关 Saltstack 事件处理功能的信息,并想知道是否使用它会更好。(优势,节点没有redis-cli命令工具,也没有 Python Redis 库,但显然salt-call已经有了它的必要支持)。因此,在 Salt 中使用某些东西可以最大限度地减少向这些系统添加额外包和依赖项的需要。(或者,我可以将所有 Redis 处理编写为单独的 PHP 命令行实用程序,然后让我的 shell 脚本调用它)。

是否有编写简单 Saltstack 模块的 HOWTO?文档似乎深入参考细节,没有任何方向。甚至一些关于搜索哪些术语的建议也会有所帮助(因为他们使用诸如柱子、谷物、奴才等术语似乎有些不透明)。

0 投票
3 回答
7790 浏览

python - 盐堆变量

我对盐中的变量有疑问。我正在尝试使用 if 语句用盐创建更复杂的状态。

示例工作:

所以,问题是:我可以定义像 {{ old_stable }} 这样的变量来放在文件顶部的“/home/project_name/”吗

在 if 语句中插入变量不起作用

示例(不工作)

我的代码是

0 投票
3 回答
2740 浏览

salt-stack - 根据文件/目录的存在定义状态

怎么可能得到类似下面的运行:

我需要它来从 ZIP 文件安装软件。我想在 minions 上解压缩,但我不想留下任何我只需要安装的许可证文件的残余。

0 投票
1 回答
462 浏览

salt-stack - saltstack 的对等通信通道可以用来运行 salt-cloud 命令吗?

saltstack 对等通信通道可以用来运行salt-cloud命令吗?

我看到有一个 peer_run 选项

通过 master 上的 peer_run 选项完成配置以允许 minions 从 master 执行 runner。peer_run 配置遵循与 peer 选项相同的逻辑。唯一的区别是授予运行器模块的访问权限。

跑步者被描述为

Salt runner 是使用 salt-run 命令执行的便利应用程序。

Salt runner 的工作方式类似于 salt 模块,但是它们在 Salt Master 本身上执行,而不是在每个单独的 Salt Minion 上执行。

Salt runner 可以是一个简单的客户端调用,也可以是一个复杂的应用程序。

Salt runner 的用途是构建一个前端钩子,用于通过 Salt 运行命令集或创建特殊格式的输出。

所以我觉得 salt-cloud 可能是我可以运行的应用程序之一。然而,现有的 salt-runner列表似乎不包括 salt-cloud。我是否遗漏了任何东西,或者是否有一种简单的方法可以完成这项工作。