所以我负责将一些服务器迁移到AWS。 其中一台服务器是Salt Master 。 经过调查,所有Salt Minions使用DNS名称而不是IP地址连接到主服务器,因此从连接的angular度来看,我只需要更改主服务器FQDN的Alogging。 但是,我知道主人和仆从之间交换一些密钥用于身份validation。 我如何移动主,但保持联系? 将整个/etc/salt目录复制到新主服务器上是否足够?
我得到这个消息,我不知道为什么 salt:/srv # salt-ssh foo-archiv state.sls monitoring [ERROR ] Rendering exception occurred: Jinja variable 'salt.utils.context.NamespacedDictWrapper object' has no attribute 'monitoring' [CRITICAL] Rendering SLS 'base:monitoring' failed: Jinja variable 'salt.utils.context.NamespacedDictWrapper object' has no attribute 'monitoring' foo-archiv: – Rendering SLS 'base:monitoring' failed: Jinja variable 'salt.utils.context.NamespacedDictWrapper object' has no attribute 'monitoring' 什么可以是这个问题的根源? 相同的sls文件适用于不同的主机!
我有一台服务器安装并configuration了一个“独立”的服务器。 我已经能够用盐做很多改变,但我不知道如何configuration我的SSH服务器。 这是我现在有的东西: $ cat sshd.sls include: – openssh sshd_config: Port: 1234 我也下载了openssh公式到我的/srv/formulas目录并更新我的/etc/salt/minion file_roots目录中的我的file_roots : file_roots: base: – /srv/salt – /srv/formulas/openssh-formula 最后我在top.sls文件中有以下内容: base: '*': – users – sshd 然后,当我申请我的状态时,我得到这个: $ sudo salt-call state.apply –local local: Data failed to compile: ———- State 'sshd_config' in SLS 'sshd' is not formed as a list 我已经看过openssh公式的文档,但是我不明白我是如何滥用API的。 我错过了什么?
salt-call grains.get cluster local: up102有没有一种方法可以让salt-call仅显示值(例如up102 )而没有其余的输出,或者我是否必须求助于使用awk或jq等来提取它? 我没有看到任何命令行选项可以做到这一点,但也许有一种我没有看到的内置方式。
我正在开发一个自动proftpd安装惠特盐。 我不会从模板中获得ftp用户,但我不能成为工作的支柱。 我初始化了用户数据的柱子,并将其调用为for循环,但是没有得到循环中的柱子用户数据。 当我做盐呼叫pillar.get ftpusers在奴才,答复是: local: 这是我的支柱ftpusers.sls : ftp-server.ftpusers: user: – user: user – passhash: j2k3hk134123l1234ljh!"·$ser – uuid: 1001 – guid: 1001 – home: /srv/ftp/user – shel: /bin/false 这是for循环: {% for users in pillar.get('ftpusers', {}).items() %} /srv/herma-ftp/.ftpusers: file.managed: – user: root – group: root – mode: 444 – contents:'{{ user }}:{{ args['passhash'] }}:{{args['uuid'] }}:{{ args['guid'] […]
我在“elasticsearch”目录下有一个叫做service.sls的状态。 我可以通过salt-call state.sls elasticsearch.service调用整个状态,但是我只想在该状态下触发一个规则。 上下文:该configuration是file.managed并已被更改,但我想手动执行重启状态将触发。
给定一个名为salty的SaltStack模块中的以下函数,如何向tags参数的event函数发送一个序列,即tags应该是一个Python列表: def event(name, desc, tags=None): assert type(tags) == list 我期望以下工作,但它不: salt-call salty.event myname mydesc tags=tag1,tag2,tag3
使用Puppet,您可以设置资源默认状态 : File { backup => '.puppet-bak', ensure => present, group => 'root', mode => '644', owner => 'root', } 如果我以后有这样的file ,它会inheritance上面定义的默认设置。 file { '/etc/postfix/main.cf': source => "$file_root/etc/postfix/main.cf" } 是否与Salt相同或相似,以避免重复的代码重复? 怎么样?
我在我的盐树里有一个公式,我相信是死的代码; 也就是说,实际上没有在任何地方使用。 我想摆脱它。 我怎么能certificate没有奴才是否收到一个给定的.sls作为他们的国家的一部分? 假设我不信任手动检查顶层文件; 我想知道盐在哪里应用这个状态,而不是我认为应用状态的地方。
我有一个双节点RabbitMQ 3.6.1群集(在AWS的CentOS 6.8上),似乎每隔30分钟重新启动一次。 我只是通过两台机器上的日志( /var/log/rabbitmq/rabbit@<hostname>.log )来获取所发生的事件的时间表。 我把它们重新安排在这个列表中: 19:22:10 UTC – 10.101.100.173: Stopping RabbitMQ – > Stopped RabbitMQ application 19:22:10 UTC – 10.101.101.48: Statistics database started 19:22:10 UTC – 10.101.100.173:RabbitMQ重新开始启动 19:22:10 UTC – 10.101.101.48:注意10.101.100.173 关机 ,然后loggingKeep [email protected] listeners: the node is already back 19:22:50 UTC – 10.101.100.173:RabbitMQ完成启动,logging消息开始“服务器启动完成,6个插件启动”。 19:22:50 UTC – 10.101.101.48:注意10.101.100.173已经启动 19:22:54 UTC – 10.101.101.48: Stopping […]