问题标签 [ansible-inventory]
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.
amazon-ec2 - 如何使用 ec2 动态清单在 ansible playbook 中设置主机条件
在我的 Ansible 剧本中,我想使用有条件的主机。例如:如果tag_Name_WebServer 和tage_Environment_development。
所以它应该返回属于开发环境的服务器列表,并且应该将名称标记为 Webserver。请帮我修复它。
我尝试过:
但我得到的结果是所有来自 WebServer 和所有来自环境开发的实例列表。如何放置合适的条件?
amazon-ec2 - Ansible add_host 未添加到主机文件
Ansible 版本:1.9.2
我正在运行一个将启动 EC2 实例的剧本。我有包含所有变量的 site.yml 并使用角色来启动 EC2 实例。这是 ec2_launch 的 main.yml
当我使用 -vvv 选项运行时,这是 add_hosts 期间的输出:
IP是正确的,组名是正确的,但是当我检查ansible hosts文件时,它没有被修改。我确保在主机文件中包含 [group_name]。运行期间没有错误,不确定为什么没有将其添加到文件中。
此页面上有一个“add_host”示例:http://docs.ansible.com/ec2_module.html而 不是名称和组,它们使用主机名、组名(我认为它们是旧的)。我也试过这些。不知道我错过了什么。
amazon-ec2 - ec2.py ec2.ini 库存拉取私有子网上的 ec2 实例
我的 AWS 1 vpc 3 子网中有以下内容 - 1 个公有、2 个私有 1 个互联网网关 1 个 nat 实例 1 个公有子网中的 ec2 实例 1 个私有子网中的 ec2 实例(用于 DB)
设置路由表并运行所有实例
我运行我的 ec2.py 来提取我的库存,我发现我没有来自我的私有子网的我的 ec2 实例的详细信息, 知道为什么吗?我认为这是我正在使用的 IAM 角色。但我确实授予了该角色的管理员访问权限。
在我的 Ec2.ini 中,我有以下 destination_variable = public_dns_name vpc_destination_variable = private_ip_address
我确实尝试过 private_dns_name 和 ip_address
ansible - Ansible:库存中的 ansible_user 与剧本中的 remote_user
我正在尝试使用我在控制机器上登录的帐户以外的帐户对服务器运行 Ansible 剧本。我试图ansible_user
根据 Inventory 上的文档在库存文件中指定一个:
但是 Ansible 调用 with 会ansible-playbook -i inventory playbook.yml -vvvv
打印以下内容:
对我有用的是将remote_user
论点添加到剧本中:
现在相同的 Ansible 命令连接为user1
:
还添加remote_user
变量以ansible.cfg
使 Ansible 使用预期用户而不是登录用户。
ansible_user
库存文件和remote_user
剧本/ansible.cfg
用于不同目的吗?
是干什么ansible_user
用的?或者为什么 Ansible 不观察清单中的设置?
ansible - 如何在 Ansible 中提示用户输入目标主机?
我想为 Ansible 中的新机器编写一个引导程序手册,它将重新配置网络设置。在第一次执行时,目标机器将具有 DHCP 分配的地址。
应该执行 playbook 的用户知道分配给新机器的 IP 地址。我想提示用户是价值。
vars_prompt
模块允许从用户那里获取输入,但是它在hosts
有效防止主机地址作为所需值的部分下定义。
是否可以不使用包装脚本修改库存文件?
ansible - 为什么给主机别名不适用于 Ansible Inventory 文件?
生产(库存文件):
运行临时命令:ansible all -i production -a "hostname"
有效!
但是当我取消注释第一行并注释第二行时:
ansible main -i production -a "hostname" -vvvv
给出以下错误:
为什么这不起作用?
ansible - Ansible:无法创建 /etc/ansible/facts.d/openshift.fact,权限被拒绝
我正在关注此博客以使用 ansible 在 OpenStack 上安装 OpenShift Origin V3。但我收到错误
“无法创建事实文件:%s,错误:%s”%(文件名,ex) main .OpenShiftFactsFileWriteError:无法创建事实文件:/etc/ansible/facts.d/openshift.fact,错误:[Errno 13]权限被拒绝:'/etc/ansible/facts.d'
目标系统是 CentOS,我可以在目标系统上执行无密码 sudo。我什至添加了/etc/sudoers
centos 全部=(ALL) NOPASSWD:ALL
到所有节点以及我运行ansible的系统上。
在我运行 ansible 的系统中,我尝试以 sudo 和 root 身份执行,但结果相同。
我不确定它在哪里面临权限被拒绝,我的意思是在主机或目标系统上。
Ansible 主机:
Ansible.cfg
以下是日志:
我以前没有使用 ansible 的经验,因此我无法进行更多调试。
ansible - 来自动态库存的 Ansible playbook 参数
鉴于以下剧本,我想为主机组的每个成员分配特定的主机名。因此,该name
参数需要针对主机组中的每个实例进行更改。
如何从清单文件中访问机器名称?具体是当前机器的ip,还是主机名?
随着剧本的运行,我希望name
参数预先填充库存中的数据。(从terraform生成)
ansible - 如何在ansible的主机文件中指定用户名
我正在使用如下主机文件,
我正在使用以下命令在主机中执行“whoami”命令
默认情况下,ansible 尝试使用我登录的用户名,即 root 而不是我在主机文件中指定的测试用户
当我尝试在 ansible cli 命令中传递用户名时它工作正常
但是我不可能每次都在 CLI 中传递用户名,因为不同的主机使用不同的用户名。另外我没有为每个主机生成密钥对,因为主机经常变化
使用的版本: