gpt4 book ai didi

ansible - 简单的 ansible playbook 语法错误 (YAML)

转载 作者:行者123 更新时间:2023-12-02 17:41:14 24 4
gpt4 key购买 nike

我刚刚启动了 ansible 并创建了一个简单的剧本来在目标服务器上部署 nginx。 YAML playbook 文件 (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

当我执行时:-

$ ansible-playbook myplaybook.yml

我得到:-

错误:加载 YAML 脚本时出现语法错误,nginx-ansible.yml注意:错误实际上可能出现在这个位置之前:第7行,第23列

- apt: name=nginx update_cache=yes
environment:
^

我不明白为什么会发生此错误 - 主机文件包含 [webservers] 部分 OK - 有人可以帮忙吗?

谢谢!

最佳答案

您的 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

关于ansible - 简单的 ansible playbook 语法错误 (YAML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31431977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com