Salt的Puppetforge和Ansible星系相当于什么? 我读过这个网站 ,但找不到相应的。
在SaltStack minion上有大约30个用户和30个目录结构: /home/user1/input/ /home/user2/input/ /home/user3/input/ /home/user4/input/ … 我知道如何通过salt更改单个文件的linux ACL。 在这个例子中,用户“foo”获取读访问权限: home_user1_input_readable: acl.present: – name: /home/user1/input – acl_type: user – acl_name: foo – perms: r 来源: https : //docs.saltstack.com/en/latest/ref/states/all/salt.states.linux_acl.html 但是我怎么能为N个用户做这个? 换句话说:有没有办法在这里做globbing?
每当我运行salt '*' state.highstate ,Salt会使用以下格式输出每个模块: service_|-zabbix_server_|-zabbix-server-mysql_|-running: ———- __run_num__: 17 changes: ———- comment: Service zabbix-server-mysql is already enabled, and is in the desired state name: zabbix-server-mysql result: True retcode: 2 我认为这个事情发生后,我不经意地跑了一个e ,如salt '*' state.highstate e 。 任何关于如何恢复到正常输出格式的理论?
我们正在使用adcli join我们的Linux机器到我们的Active Directory。 现在我们开始做这个作为我们的saltstack设置的一部分,但我们不知道如何确定机器是否已经join到域中? 似乎没有什么因为做多个连接而中断,但确实需要一些时间,似乎有点不洁净。 我们可以看看,如果机器已经join? adcli套件中没有任何东西似乎能做到这一点。 使用的Linux发行版是CentOS(6.6和7),域是2008R2function级别。 编辑:我见过一些人检查/etc/krb5.keytab的存在,但在我看来,这只是如果机器曾经join指示。 如果我从AD删除机器帐户,文件将仍然在那里,但实际上机器不再join。
我刚开始部署SaltStack到我的服务器。 所以,我有以下文件/srv/salt/postfix/init.sls : # Ensure postfix installed and set to autostart on boot postfix: pkg.installed: [] service.running: – require: – pkg: postfix – enable: True # Restart on change to main.cf or any of the *.db files postfix.restart: service.running: – require: – pkg: postfix – name: postfix – watch: – file: "/etc/postfix/main.cf" – file: "/etc/postfix/*.db" […]
假设一个像这样的目录: – etc/nginx/sites-available/ – hostA – hostB – hostC hostA和hostB是由salt创build的。 hostC也是早先由salt创build的,但是因为它已经从柱子上移除了,不再需要了。 我希望目录只包含代表当前状态的文件。 有一个选项可以让目录的clean: True ,但是这会导致在每次highstate时都会看到完全不同的目录 – 在我们的例子中,每个highstate都创build了30个不同的文件。 这使得很难检查发生的变化。 有什么办法可以解决这个问题吗? 更新 :当前输出(伪yaml) – directory – deleted: – file: hostA – file: hostB – file: hostC – file – new file: hostA – file – new file: hostB 我期望 – directory: – deleted: – file: hostC
有没有一种方法可以在salt 'myminion' state.highstate运行的时候在salt-master上运行一个命令(或者状态),但是在minion的highstate执行之前呢? 命令是svn update或( svn.latest ),所以在/ srv / salt中会有文件可用。 由于目录结构的限制, svnfs不适用于我。 我也发现你不能添加自定义文件系统(不修改盐的来源)。 我希望反应堆系统可以帮助,但我不确定它是否可以用于这种情况。 编辑: 另一个可能的解决scheme是编写一个SVN 后提交钩,但我宁愿不。
想象一下,你想在一群奴才中应用一些状态,比如所有的Ubuntu客户端。 当我们申请国家时,有些奴才是离线的。 消息总线上的状态保留多长时间才能被推送到随从上? 你提出什么样的策略来解决这个问题,并在他们回来的时候改变奴才的状态? 有没有更好的方式使小salt-call state.highstate拉状态比运行salt-call state.highstate ?
自从几周以来,我们使用SaltStack进行configurationpipe理。 如何处理systemctl的分发特定位置? 在Ubuntu上: /bin/systemctl 在SuSE上: /usr/bin/systemctl 此刻,我将两行添加到sudoers文件中: etc_sudoers: file.blockreplace: – name: /etc/sudoers – marker_start: "# START managed etc_sudoers -DO-NOT-EDIT-" – marker_end: "# END managed zone etc_sudoers –" – content: | some_user ALL = NOPASSWD: /bin/systemctl restart apache2 some_user ALL = NOPASSWD: /usr/bin/systemctl restart apache2 {% endfor %} – append_if_not_found: True – backup: '.bak' – show_changes: […]
我有两个服务器在saltstack下pipe理httpd服务器。 基于端口的VirtualHost需要单独configuration。 所以/etc/httpd/conf.d/httpd-vhost.conf是这样看的: httpd: pkg.installed: [] service.running: – require: – pkg: httpd – watch: – file: /etc/httpd/conf.d/httpd-vhosts.conf /etc/httpd/conf.d/httpd-vhosts.conf: file.managed: – source: salt://webserver/httpd-vhosts.conf 问题是这两个奴才有自己的服务器名称和httpd-vhost.conf应该是不同的像ServerName www.example1.com和www.example2.com 。 Saltstack grains模块只适用于.sls文件不受pipe理的文件。 那么任何build议,使其工作?