问题标签 [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.
ruby - saltstack: brew 模块 - 找不到 HOME 环境?
- 操作系统:MacOS
- osarch:x86_64
- 发行版:10.9
- 路径:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
$盐--版本报告
$ sudo salt '*' pkg.list_pkgs
$ sudo salt '*' pkg.list_upgrades
但brew
从命令行运行工作正常:
$ brew list --versions
$ brew 过时了
我怀疑它是由不同版本的 Ruby 引起的:
$酿造医生
尝试从命令行扩展仍然有效:
amazon-web-services - SaltStack:在 EC2 上启动并运行 Minion
我正在通过SaltStack walk through在我的 ec2 集群上设置 salt。我刚刚编辑/etc/salt/minion
并添加了我的盐大师的公共 dns。
然后我重新启动了奴才。在调试模式下,这会输出以下内容
果然172.31.21.27
是master的私有ip。到目前为止,这看起来还可以。根据演练,下一步是在 master 上接受 minions 键:
但是,当我转到主节点并查找新密钥时,我看不到任何待处理的请求。
并且 ping 测试也没有看到 minion:
这就是我卡住的地方,接下来我应该怎么做才能启动和运行?
python - sshd_config 用于远程创建的盐爪 w bootstrap.sh
一些背景信息,我是配置新手并遵循本教程:
它解释了如何使用 salt-cloud 设置远程设置 salt-master 和 salt-minion。它还提到了一些安全措施,为 ssh 设置不同的端口,切换 root 访问权限并创建具有 root 权限的不同用户以供使用,最后但并非最不重要的是,设置打开自定义 ssh 端口和端口 4505 的防火墙, 4506 用于盐。
问题
这篇文章没有说明这一点,但不应该为奴才考虑相同的安全措施吗?
bootstrap.sh 脚本(用于提升 minion(s))似乎没有实现这些设置(例如,运行sudo salt 'minion01' cmd.run 'cat /etc/ssh/sshd_config'
显示我使用了端口 22,并且 minion 允许 root 访问。还sudo salt '*' cmd.run 'ufw verbose status'
显示没有防火墙是已安装
java - 使用 Saltstack 安装 Java 运行时
我正在使用 Salt 配置一堆 Centos 机器(基于 rpm),我需要安装 Java 运行时。我已经看到一些关于在基于 Ubuntu 的机器上执行此操作的讨论,但我想知道是否有人在基于 Redhat 的发行版上执行过此操作。问题是在没有用户干预的情况下通过“接受许可证”对话框。
salt-stack - 您如何在自己的模块中使用“发布”模块
我需要在另一个奴才上执行脚本。最好的解决方案似乎是 Peer Publishing,但我能找到的唯一文档只显示了如何通过 CLI 进行操作。
如何在模块中定义以下内容?
salt-stack - 用盐状态的符号链接替换文件
我是盐堆的新手。
我正在尝试确保存在符号链接。
当不存在时,结果是例外/etc/localtime
,或者当/etc/localtime
已经是符号链接时。但是当/etc/localtime
是常规文件时它会失败:
我不知道如何对状态进行编码,以便在创建链接之前删除文件。有什么线索吗?
干杯,皮埃尔
python - Salt Stack:在 SLS 中使用执行模块
就我在 Salt 文档中看到的(例如此处)而言,支持两种主要类型的模块:状态模块和执行模块(我知道还有渲染器、返回器等)。大多数 SLS 文件示例包含仅与状态模块相关的语句(在 salt.state 命名空间下),而对于执行模块,仅显示命令行示例。例如,我们有两个名为“service”的模块:salt.states.service 和 salt.modules.service。现在我在使用 SLS 文件中的执行模块时遇到问题,似乎它们根本不可用,或者我缺少使它们可用的东西。我的问题是:是否可以在 SLS 文件中使用执行模块,例如如何使用 salt.modules.service.restart 函数在 Ubuntu 机器上重新启动服务?我也不清楚这些模块类型之间的区别。
我的服务名称是 selenium-node ,我尝试了几种组合,但都失败了:
在使用 git state 和执行模块时,我遇到了同样的问题。但是,当我在 minion 上运行以下命令时(如文档中所示),它会成功:
chef-infra - 开发人员桌面的配置管理
我在一家小型软件开发公司工作,大约 30 名开发人员。我们开发了一个基于 Java 的 Web 应用程序,它使用在 CentOS 服务器上运行的 JDK、Apache Tomcat、MySQL 和 Solr。大多数开发人员使用 Windows 笔记本电脑,有些使用 Mac。他们使用 VirtualBox 在笔记本电脑上的虚拟机中运行生产服务器的“副本”。他们在主机操作系统中使用 Eclipse 或 IntelliJ 进行开发,但他们使用从来宾运行的 shell 脚本部署到来宾操作系统(这反过来又通过共享文件夹从主机操作系统中提取文件)。所以真的没什么特别的。现在,开发人员绕过一个外部 HD,上面有一个 VirtualBox 图像,它会时不时地更新(但并非总是如此)。但大多数更新是通过电子邮件爆炸说“在您的 VM 中运行这些 cmds 以稍微更新 JVM”或类似内容。
显然我们需要 Vagrant。但我不确定我们是否应该使用 SaltStack 或 Puppet 或 Chef 等?对于像这样一个相对简单的环境,只有一个本地 VM,我希望尽可能避免使用 cmd 行的非 Linuxy 开发人员,这里的最佳解决方案可能是什么?
python - 使用盐的输出作为 SLS 状态或支柱的输入?
例如,我想找到所有带有特定标签的节点,获取它们的 IP 地址,然后生成一个配置文件以分发给这些节点。
一个用例可能是一个需要了解每个其他节点的数据库,但可以随时添加和删除节点。
python - 使用 Salt Stack 运行 CREATE EXTENSION 的推荐方法是什么?
我正在使用 Salt Stack 来管理我的 Linux 服务器。我有一个创建 PostgreSQL 数据库的命令,但我需要运行“CREATE EXTENSION postgis;” 在我的数据库上。
我知道我可以使用从命令行调用 psql 的 shell 脚本来做到这一点,但是有没有更明智的方法来使用 Salt 来做到这一点?
这是我当前的数据库配置脚本: