【问题标题】:creating load balancer in AWS在 AWS 中创建负载均衡器
【发布时间】:2019-02-07 15:55:23
【问题描述】:

我想创建一个新的负载均衡器并使用 ansible 在 aws 中分配一个 ec2 实例。所以,我创建了 new_elb.yml 文件来创建新的 elb,下面是我的 ELB 代码:

---
  #tasks:
- name: creating load balancer
  #local_action:
  ec2_elb_lb:
    name: "apache-balancer"
    state: present
    zones:
      - us-west-2a
      - us-west-2b
    listeners:
      - protocol: http
        load_balancer_port: 80
        instance_port: 443
~

我收到如下错误:

ERROR! 'ec2_elb_lb' is not a valid attribute for a Play

The error appears to have been in '/etc/ansible/playbooks/final_elb.yml': line 3, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  #tasks:
- name: creating load balancer
  ^ here

谁能告诉我使用ansible声明ELB和注册ec2实例的正确方法是什么?

【问题讨论】:

  • 如果您使用角色方法并创建顶级剧本来调用此角色。然后代码应该可以工作。只需确保“local_action”不存在。

标签: ansible ansible-playbook amazon-elb ansible-2.x


【解决方案1】:

看起来您正在创建一个playbook。剧本本质上是“在这些服务器上做这些事情”的列表。但是,你给它的只是一个动作。

你需要的结构更像这样:

- hosts: localhost
  tasks:
    - name: creating load balancer
      ec2_elb_lb:
        <snip>

您拥有的最简单的操作列表就是您在tasks/main.yaml 文件中放入role 的内容。

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 1970-01-01
    • 2021-10-15
    • 2015-08-16
    • 2018-04-14
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多