问题标签 [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.
python - 使用带有校验和的远程 tarball 安装软件包的 Saltstack 公式
如何使用盐堆栈从 tar 球安装软件包?例如,我想从远程 tar 球安装 Apache Tomcat - 我该如何实现?我尝试使用 file.managed,但它在 source_hash 中显示不匹配 - 如何使用源 URL 动态预测校验和?
python - 使用 python 和 saltstack 错误
我正在用 Python 中的 SaltStack API 编写一个小程序,但出现错误
错误:
如果我从命令行运行salt
,它可以工作
salt-stack - SaltStack 没有启动服务
我需要运行服务,这是代码片段:
该节点由 vagrant 管理。因此,当我在vagrant up node
调用state.highstate
但服务未运行时,但当我state.highstate
在控制台中明确调用 salt-call 时,服务开始运行。
这里可能有什么问题?我如何诊断问题?谢谢
amazon-ec2 - 使用 Saltstack 标记 EC2 实例
我对使用 saltstack 相当陌生,并且正在尝试让 salt-cloud 在配置期间标记我的 EC2 实例。我认为这是需要在 cloud.profiles 中完成的事情。我一直在寻找在配置 EC2 实例时尝试为 EC2 实例创建标签的文档和具体示例。我发现创建实例后标记实例可以从命令行完成:
salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
但是我希望这些操作在创建实例时自动发生。
附带说明一下,我还没有发现 salt 文档是最有帮助的。如果有教程或演练可以帮助自己更加熟悉 saltstack,我将不胜感激。
谢谢,
escaping - 如何转义 Jinja2 宏中的特殊字符?
我正在编写一个返回 cronjob 语法的宏,如下所示:
然后在一个.sls
文件中它被称为:
但运行时出现以下错误:
手动转义|e
也返回相同的错误。
所以问题是:如何在 Jinja2 宏中转义这些字符:*、/、...?
python - 使用 saltstack 设置环境变量
我正在编写一些将安装 tomcat 包的盐栈公式。但安装后我必须在 /etc/default/tomcat7 文件中设置 JAVA_HOME。有没有设置 JAVA_HOME 的选项?或者是否有任何选项可以在环境变量中修改或添加 JAVA_HOME(即在 .bashrc 或 .profile 文件中)?
我的pillar.example 文件将包含以下详细信息:
virtual-machine - 在 VM 创建期间将角色/配置文件定义分配给 Saltstack minions (vSphere)
这似乎不是一个受支持的功能,那么如何在创建 VM 后无需手动设置角色/配置文件的情况下实现它?
是否可以在创建时将任何数据传递给 VM(参数/文件)?
是否有任何首选方法可以在创建 VM 时自动分配角色/配置文件?
git - “找不到顶级文件或外部节点数据匹配”使用 SaltStack 设置 gitfs
我已经在 nfs 服务器上设置了 git。salt master 在启动时自动挂载包含 git 存储库的文件夹。我已将 .sls 文件、模板和脚本复制到 git 目录并将它们添加到 git。
根据此处的指南,我已将以下内容添加到主配置文件中:
我对将 file_roots 设置为什么有疑问,但都尝试过
和
结果相同:“未找到顶级文件或外部节点数据匹配”
SaltStack 版本为 0.17.4,操作系统为 SLES 11.2。
有谁知道我哪里出错了?
puppet - 是否有相当于在 saltstack 中发布命令的木偶?(发布.发布)
基本需求:
- 对代理 X 执行操作
- 对代理 Y 执行操作
- 对代理 X 执行操作
这些操作需要按顺序执行,这很容易通过 saltstack 使用 publish.publish 来实现。对代理 Y 执行操作的访问权限由 salt master 管理。
我在 puppet 中找到的最接近的东西是“外部资源”(ER),因为它们可用于对其他代理执行操作,但 ER 在许多方面都不足:
他们不支持操作排序
定位基于标签,不考虑安全性
它们是如此解耦,以至于您无法通过阅读代码知道操作将在何处执行或操作来自何处。
无法获得有关操作成功或失败的反馈
有没有替代 saltstacks publish.publish 的木偶?
python - 如何在 saltstack 中运行自定义模块
我已经处理 saltstack 大约 2 周了,我已经可以配置我的 salt 环境,但是当我尝试使用 python 创建自定义模块并使用以下命令时:
什么都没有发生,我的脚本没有被复制,也没有在我的任何仆从中可用。
我尝试使用以下命令运行它:
输出是我的脚本不可用
有什么建议么?我在这里错过了一步吗?
编辑:我有我的自定义模块/srv/salt/_modules
,它与我的 master 匹配file_roots
。