【问题标题】:Deployment to Elastic Beanstalk with Ansible使用 Ansible 部署到 Elastic Beanstalk
【发布时间】:2017-06-28 09:42:11
【问题描述】:

我们正在使用 eb_deployer 部署到 Elastic Beanstalk,我们希望使用 .ebextensions 和 Ansible 配置每个节点。

eb_deployer 创建的包看起来像这样(简化),它用 Ansible 组装在控制节点上:

- Procfile
- application.jar
- .ebextensions
    - ansible.config
    - provision.yml
    - roles
        - appdynamics
            - tasks
                - main.yml

ansible.config 在 Beanstalk 节点上安装 ansible 并运行单个 playbook:

packages:
  python:
    ansible: []
container_commands:
  ansible:
    command: "ansible-playbook .ebextensions/provision.yml"

provision.yml(简体)只包含一个角色:

- name: provision eb instance
  hosts: localhost
  connection: local
  gather_facts: yes
  roles:
      - role: appdynamics
        controller_host: "example.com"
        controller_port: 443

现在的问题是appdynamics 角色使用了存储在保险库中的变量appdynamics_accesskey,但保险库密码文件存储在控制节点上。 我们希望避免将保管库密码文件从控制机器复制到 S3 存储桶上的.ebextensions,然后再复制到 Beanstalk 节点。

在这种情况下你会怎么做?也许在这种情况下还有其他更合适的工具?

【问题讨论】:

    标签: amazon-web-services ansible amazon-elastic-beanstalk appdynamics


    【解决方案1】:

    看来one way 解决此问题的方法是启动临时实例,仅在控制计算机上使用运行 Ansible 对其进行配置,使用 ec2_ami Ansible 模块创建映像,并将该映像用于 configure custom image 进行自动缩放组。

    【讨论】:

      猜你喜欢
      • 2016-02-23
      • 2015-09-20
      • 2019-02-13
      • 2017-07-26
      • 2014-07-24
      • 2020-08-14
      • 2015-09-18
      • 2020-03-24
      相关资源
      最近更新 更多