salt-stack相关内容

使用Salt-Stack成功安装ArtiFactory RPM

我正在使用Salt Stack完全自动化一些事情。我目前正在通过Salt Stack使用RPM安装ArtiFactory V5.3.2。我能够让它安装并正常工作,但开始从盐堆栈得到一个假阳性错误。 当前在CentOS Linux release 7.3.1611 (Core)上运行,带有来自here的无主控盐堆栈(仅用于测试目的)。根据ArtiFactory文档,他们建议使用yum来安装rp ..
发布时间:2022-04-15 11:48:53 其他开发

使用jinja2比较版本号

我正在使用 jinja2 模板来安装/升级软件包. 逻辑是为当前安装的版本设置一个变量,并将其与可用版本进行比较.它运行良好,但是一旦我们传入 10.x,比较就停止工作了. 是否可以强制转换变量以便正确识别 10.9.8 大于 9.8.7? 谢谢 current_version=['9.8.7'] {% if current_version 解决方案 有一个特 ..
发布时间:2021-11-11 01:33:35 其他开发

使用jinja2比较版本号

我正在使用 jinja2 模板来安装/升级软件包. 逻辑是为当前安装的版本设置一个变量,并将其与可用版本进行比较.它运行良好,但是一旦我们传入 10.x,比较就停止工作了. 是否可以强制转换变量以便正确识别 10.9.8 大于 9.8.7? 谢谢 current_version=['9.8.7'] {% if current_version 解决方案 有一个特 ..
发布时间:2021-11-11 00:27:14 其他开发

运行下载的 SaltStack 公式

我已按照此处的说明下载了 PHP 公式:https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html 我已将 apache 更改为 php.在我的 salt 配置文件(我假设是 /etc/salt/master)中,我像这样设置了 file_roots: file_roots:根据:-/s ..
发布时间:2021-07-14 19:48:47 其他开发

盐更改/etc/hosts,但仍然缓存旧的?

salt 缓存/etc/hosts 吗?我的情况是更改/etc/hosts 使 FQDN 指向外部 IP 地址而不是 127.0.0.1 问题是在第一次运行时,fqdn_ipv4 保持为 127.0.0.1,我需要重新运行 salt '*' state.highstate 以获得正确的值.这会导致诸如这个之类的问题,这花费了我很多时间. salt 是否在执行前渲染所有内容(或缓存 DN ..
发布时间:2021-07-14 19:48:43 其他开发

SaltStack 文件服务器访问控制

我正在尝试为不同的仆从设置不同的安全级别.我已经有不同的支柱,所以一个仆从的秘密 ssh 密钥不能被另一个仆从看到. 我想要达到的是:一个容易被攻击的小兵,比如别人运行的边缘云服务器,无法下载甚至看不到我在高安全性上安装的文件根目录中的软件包在我自己的数据中心的 Minions. 看来,除了存在于多个环境中的重载文件名之外,Salt 文件服务器将为每个小程序提供每个文件. 这似乎 ..
发布时间:2021-07-14 19:48:40 其他开发

如何从另一个支柱文件中导入数据?

情况:我们有多个盐配方,其中包含某些支柱配置选项,在我们的环境中,这些选项是相同的.例如,它们对上游服务使用相同的 URL.我们希望避免在多个支柱位置复制这些值(我们想要一个单一的事实点),但我们不想以它们共享支柱键的方式编写公式(正交对灵魂有益). 在我看来,正确的方法是拥有一个包含“共享"值的支柱文件,然后将它们从那里导入到特定于公式的支柱文件中的适当位置.例如: # pillar/s ..
发布时间:2021-07-14 19:48:35 其他开发

使用盐的输出作为 SLS 状态或支柱的输入?

例如,我想找到所有带有某个标签的节点,获取它们的 IP 地址,然后生成一个配置文件分发给这些节点. 一个用例可能是一个需要了解每个其他节点的数据库,但可以随时添加和删除节点. 解决方案 您可以使用 Salt Mine 来完成.首先,将此配置分发给所有 Minion: mine_functions:谷物.项目:- 角色- fqdn_ip4 使用该配置,每个 Minion 都会将这两 ..
发布时间:2021-07-14 19:48:31 Python

如何在可以覆盖的支柱中设置基本值?

我想将所有 Salt 文件(支柱、状态、数据文件等)存储在一个 git 存储库中,以便可以在多个不同的部署中克隆该存储库. 然后我希望能够更改一些支柱设置的值,例如路径名或密码,但不编辑处于版本控制中的原始文件(即这些修改仅在本地进行,不一定是版本). 我希望能够从原始存储库中提取新版本(例如添加新的支柱和状态定义)而不会丢失自定义值. 例如“基本"或“默认"支柱文件将具有如下设 ..
发布时间:2021-07-14 19:48:27 其他开发

SaltStack:做...如果组“foo"存在于远程主机上

如何根据远程主机是否有一个名为“foo"的组来实现条件. 我的用例:如果远程主机上有一个名为“foo"的组,那么我需要向其中添加一个用户.如果该组不存在,则无需执行任何操作. SaltStack 可以做到这一点吗? 解决方案 您需要 Jinja 渲染器 在您的 salt 状态文件中并与 salt.states.user.present 混合.(更新) .您可以使用盐覆盖模块 p ..
发布时间:2021-07-14 19:48:25 其他开发

在 saltstack 中使用公式

我是 saltstack 的新手,我想通过使用 saltstack 公式安装 postgres 或 apache 或其他任何东西. 我用 从 git 下载了 repo git clone https://github.com/saltstack-formulas/apache-formula.git 和 git 克隆 https://github.com/saltstack- ..
发布时间:2021-07-14 19:48:22 其他开发

公式提供属性默认值的最佳方式是什么?

Chef 有一个非常详尽的(也许太多了)的食谱方案来提供属性的默认值.我认为 Puppet 对类参数做了一些类似的事情,其中​​默认值通常进入 params.pp.使用 Salt,我见过: 在字典/支柱查找中指定默认值. grains.filter_by 将默认属性值与用户提供的支柱数据(例如,map.jinja 在 阿帕奇公式) 在调用 file.managed 状态时,将默认属性值指 ..
发布时间:2021-07-14 19:48:10 其他开发

Salt-api 使用除 glob 之外的其他匹配方法

默认情况下,salt-api 使用 glob 方法匹配目标 minion.是否可以使用其他方式(可能是谷物、pcre 等)来查找仆从. 我尝试将 tgt_type 传递给 salt-api,但没有成功. curl -s -H "Accept: application/json" -d username='user' -d password='pwd' -d eauth='pam' -d f ..
发布时间:2021-07-14 19:48:01 其他开发

跟踪 Salt Minion 上的命令失败

我最近一个月都在用盐.每当我运行一个命令说 sudo salt '*' test.ping 时,master 就会 ping 所有的 minion,响应是所有正在运行的 minion 的列表.输出类似于: {“minion_1":真}{“minion_2":真}{“minion_3":真} 在master的conf文件中,返回类型配置为JSON.但是如果我通过 salt master 执行错误 ..
发布时间:2021-07-14 19:47:58 其他开发

Salt 和 Python 的 YAML 语法

这有什么区别: dic1:- subdict1.1:value11.1- subdict1.2:value1.2- cubdict1.3:value1.3 还有这个: dict2:subdict2.1:value2.2subdict2.1:value2.2subdict2.3:value2.3 我知道第一个评估为字典列表.但第二个是什么?不也是字典列表吗? 解决方案 不,它只是一个 ..
发布时间:2021-07-14 19:47:56 Python

如何聚合 SaltStack 命令结果?

是否可以运行一个 SaltStack 命令来查看某个进程是否在一台机器上运行,并汇总在多个 Minion 上运行该命令的结果? 本质上,我希望看到从 Minion 返回的所有结果显示在类似 ASCII 表中.是否有可能有一个等待所有结果返回的超级结果格式化程序,然后应用该格式?也许还有另一种方法? 解决方案 如果您想完全在 Salt 中执行此操作,我建议您创建一个“输出器",以您想要 ..
发布时间:2021-07-14 19:47:53 其他开发

使用包含在盐堆栈中的传递变量

我有几个几乎相同的状态.他们都部署项目,创建 virtualenv 并配置主管.区别仅在于 repo、项目名称和一些附加操作. 很多代码是重复的.是否可以将相同的部分放入文件并包含其他变量? 在 Ansible 中,可以这样做: 任务:- 包括:wordpress.yml变量:wp_user: 蒂米ssh_keys:- 键/one.txt- 键/两个.txt 解决方案 这个问题看 ..
发布时间:2021-07-14 19:47:50 其他开发

salt-stack highstate - 找到慢状态

运行初始安装大约需要 20 分钟,运行 salt-call state.highstate 大约需要 6 分钟.这不是不合理,但我想加快速度,但我不确定如何找到最慢的状态. 除了用秒表看我的屏幕 6 分钟之外,还有什么方法可以找到每个状态运行所需的时间吗? 解决方案 sudo salt-call state.highstate 提供每个状态的开始时间和持续时间. --------- ..
发布时间:2021-07-14 19:47:47 其他开发