Linux ANSIBLE“;错误!字段';主机';是必需的,但未设置”;

Linux ANSIBLE“;错误!字段';主机';是必需的,但未设置”;,linux,ansible,centos,redhat,Linux,Ansible,Centos,Redhat,我有一个安装了ansible的CENTOS 7虚拟机,我正在尝试在RED HAT 8上安装带有ansible的HTTPD服务 文件内容: “主机” “playbook.yaml” 我得到的错误是: 首先,将所有内容缩进同一级别: -主机:redhat 远程用户:root 任务: -名称:安装apache yum:name=httpd 请注意,只使用了一个- 其次,您创建的宿主文件称为。 通过执行ansible playbook playbook.yaml它将使用位于/etc/ansible/h

我有一个安装了ansible的CENTOS 7虚拟机,我正在尝试在RED HAT 8上安装带有ansible的HTTPD服务

文件内容:

“主机”

“playbook.yaml”

我得到的错误是:


首先,将所有内容缩进同一级别:

-主机:redhat
远程用户:root
任务:
-名称:安装apache
yum:name=httpd
请注意,只使用了一个
-

其次,您创建的
宿主
文件称为。 通过执行
ansible playbook playbook.yaml
它将使用位于
/etc/ansible/hosts
的默认资源清册文件,该文件甚至可能不存在于您的计算机上

因此,您只需告诉ansible使用以下命令加载您的库存文件:

ansible playbook-i托管plabook.yaml

剧本中的YAML不正确。按照下面的方式重新构造,注意我删除的
-
。这也是设置参数的最佳实践

---
-主持人:红帽
远程用户:root
任务:
-名称:安装apache
百胜:
名称:httpd
国家:现在
您还必须指定Ansible从中获取主机的清单文件。如果playbook与您的
主机
文件位于同一文件夹中,您可以使用下面的命令运行playbook

$ ansible-playbook playbook.yml -i hosts

如果资源清册文件位于其他位置,请指定整个路径,而不仅仅是文件名。

您好,谢谢您的帮助,但我遇到了相同的错误:[root@centos7ansible]#ansible playbook-我主持playbook.yaml PLAY[redhat]男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生男生************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************错误!字段“hosts”是必需的,但未设置[root@centos7ansible]#“@Ismael:您是否按照我的回答更改了YAML?请确保没有将
主机
部分放在单独的块中。非常感谢,问题是“-”在“远程用户”行中“@Ismael:我就是这么说的…”此外,将所有内容缩进同一级别
[root @ centos7 ansible] # cat playbook.yaml
---
- hosts: redhat
- remote_user: root
   tasks:
      - name: install apache
        yum: name = httpd
[root @ centos7 ansible] #
$ ansible-playbook playbook.yml -i hosts