【发布时间】: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