bzo*_*bzo 2 ansible ansible-playbook
我刚刚开始使用ansible,并创建了一个简单的剧本来在目标服务器上部署nginx。YAML剧本文件(myplaybook.yml)如下所示:-
- name: Configure webserver with nginx
hosts: webservers
sudo: True
tasks:
- name: install nginx
- apt: name=nginx update_cache=yes
environment:
http_proxy: myproxy.com:8088
https_proxy: myproxy.com:8088
Run Code Online (Sandbox Code Playgroud)
当我执行:
$ ansible-playbook myplaybook.yml
我得到:-
错误:加载YAML脚本nginx-ansible.yml时的语法错误注意:该错误实际上可能会出现在以下位置之前:第7行,第23列
- apt: name=nginx update_cache=yes
environment:
^
Run Code Online (Sandbox Code Playgroud)
我看不到为什么会发生此错误-主机文件包含[webservers]部分,确定-任何人都可以帮忙吗?
谢谢!
您的YAML遇到了一些问题。首先,- name以及- apt不应同时有-前缀。这使Ansible认为您有一个名称为install nginx但没有模块或与之相关的其他任务的任务,然后您有另一个名称为apt的任务,但没有名称。
第二个问题是缩进。在单词前面有一个多余的空格,environment这使YAML认为您正在开始一个新的子元素,而不仅仅是在当前任务中添加属性。因此,您的整个任务应如下所示(并记住间距至关重要):
tasks:
- name: install nginx
apt: name=nginx update_cache=yes
environment:
http_proxy: myproxy.com:8088
https_proxy: myproxy.com:8088
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15624 次 |
| 最近记录: |