我们使用Ansible来创build这个任务的用户: – name: Create adm users user: name: "{{ item.name }}" group: "{{ common_adm_group }}" createhome: yes password: "!!" update_password: always state: present with_items: "{{ common_adm_users }}" 而common_adm_users是这样的: – name: user1 comment: "First Last" ssh_key: "ssh-rsa AAAAB3Nza…" 这对于创build用户来说工作正常,但是当有人离开团队时,当我们重新应用包含这个任务的angular色时,从common_adm_users中删除他们的用户并不会导致它从服务器中被删除。 维护用户的确切名单的最佳做法是什么?
我无法弄清楚如何传递一个键值对的字典/散列图作为一个可选任务的值。 默认选项: # roles/ec2/defaults/main.yml ec2: key_name: "{{ key_name }}" instance_type: m3.medium image: ami-xxxx group_id: sg-xxxxx vpc_subnet_id: subnet-xxxxx region: us-east-1 wait: yes instance_tags: Name: "{{ env_name }}-{{ group_name }}-{{ ansible_date_time.epoch }}" Type: "{{ env_name }}-{{ group_name }}-{{ ansible_date_time.epoch }}" 尝试1 # roles/ec2/tasks/main.yml – name: launch single instance ec2: "{{ ec2 }}" register: instance 堆栈跟踪 fatal: [localhost] […]
这与如何查看简单的标准输出的问题基本上是一样的,只是我想查看由命令生成并传入的命令。 可能吗?
我正在考虑在VPC中设置一个部署服务器,并试图使用IAMangular色来代替Ansibledynamicec2.py库存脚本的密钥。 答案我可以使用IAMangular色Ansible说这是可能的,但它并不表示需要什么权限。 我想知道是否有人能够提供一些关于需要什么权限才能生成dynamic库存的更多细节。 编辑:我审查了文档,我认为解决scheme的一部分是搞清楚什么权限botos get_all_instances()需要。
我很新的监测,configurationpipe理等,所以请裸露在我身边。 我已经阅读了像Ansible和SaltStack这样的configurationpipe理/configuration工具。 这些对我来说听起来不错,我打算使用其中的一个(还没有决定哪一个我倾向于Ansible)。 理想情况下,我想使用这两者来控制系统中的configuration和命令执行的所有方面。 即:从最初的引导,特别的命令,而且当系统范围的exception发生时。 为此,我似乎可以使用Nagios事件处理程序(正确设置时)依次执行已configuration好的剧本(或者等价的盐水图)来尝试将系统恢复到正确的状态。 这个设置是否经常被使用? 任何理由,这不是一个好主意? 我在问,因为在1个工具(ansible或saltstack)下configuration所有configuration似乎合乎逻辑/方便,但是如上所述使用Nagios(或类似的)和Ansible(或类似的)的组合信息似乎是真的稀疏/ 不存在的。 谢谢。
我是新来的可靠的,但我不能find这个问题的答案,我认为看起来相当简单.. 在剧本中,你可以通过例子{{ ansible_eth0["ipv4"]["address"] }}或{{ ansible_eth0.ipv4.address }}得到事实。 我如何使用类似ansible all -m setup -a "filter=???"获取与信息相关的命令相同的信息 作为filter ,我已经尝试了两个你想在剧本中使用的语法,还有一些与*结合的更具异国情调的语法。 这甚至是正确的方式来收集这样的数据?
我很难得到一个可以发挥作用的任务来触发处理程序。 这里是我使用的文件: roles/services/tasks/postgresql.yml显示 – name: install postgresql packages apt: name={{ item }} state=present sudo: yes with_items: – postgresql – libpq-dev – python-psycopg2 notify: – set postgres password – configure md5 security – restart postgres server roles/services/handlers/main.yml显示 – name: set postgres password sudo: yes sudo_user: postgres postgresql_user: name=postgres password=newpass – name: configure md5 security sudo: yes […]
我创build了一个简单的Ansibleangular色,目的是在OSX目标上configurationdnsmasq(dnsmasq从homebrew安装)。 我想创build一个处理程序,当configuration文件发生变化时重启守护程序(自版本1.9.3开始,Ansible不会为OSX实现服务模块)。 我有一个任务: – name: Create dnsmasq config file in /usr/local/etc/ from template template: src=dnsmasq.conf.j2 dest=/usr/local/etc/dnsmasq.conf notify: – restart dnsmasq 在/Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist有一个关键的<key>KeepAlive</key> ,它在不运行时自动启动守护进程,所以下面的处理程序完成它的工作。 我可以一直依靠这个吗? – name: restart dnsmasq sudo: yes command: launchctl stop homebrew.mxcl.dnsmasq 没有任何情况或计时问题会导致守护进程永久停止? 这样的处理程序写入的正确方法是什么?
我试图理解与Ansible的GitHub sshconfiguration(我正在Ansible:Up&Running书上工作)。 我遇到两个问题。 权限被拒绝(publickey) – 当我第一次运行ansible-playbook mezzanine.yml剧本时,我被拒绝了一个权限: failed: [web] => {"cmd": "/usr/bin/git ls-remote '' -h refs/heads/HEAD", "failed": true, "rc": 128} stderr: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. msg: Permission denied (publickey). fatal: Could not read from remote repository. […]
如果firewall_allowed_ports在: – name: port {{ item }} allowed in firewall ufw: rule: allow port: "{{ item }}" proto: tcp with_items: – 22 – "{{ firewall_allowed_ports }}" 未定义,则会发生此错误: fatal: [host.example.com]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. 试图解决这个问题 "{{ firewall_allowed_ports | }}" […]