首页 文章

使用动态库存使用Ansible进行多级部署

提问于
浏览
-1

我正在使用AWS动态库存脚本来描述here,以根据其标签提取我的EC2实例的子集 . 我想 Build 一个多级环境,我可以使用这个动态库存脚本在DEV或PRD上运行我的Playbook .

我的项目目录设置为:

ansible.cfg
inventories/
  -- dev/
    -- ec2.ini
    -- group_vars/
    -- host_vars
    -- inventory
  -- prd/
    -- ec2.ini
    -- group_vars/
    -- host_vars
    -- inventory
playbooks/
  -- playbook1.yml
  -- playbook2.yml
  -- playbook3.yml
roles/
site.yml

devprd 目录中的 inventory 文件是dynamic inventory script .

我将每个ec2.ini文件设置为基于AWS标记为dev或prd环境创建动态库存 .

如果我试图运行 ansible-playbook -i dev site.yml 我收到一个错误: [WARNING]: Unable to parse /home/ansibleadmin/dev_playbook/dev as an inventory source

这种方法应该适用于静态库存 - 由于某种原因,它不适用于动态库存吗?实现这个目标的正确方法是什么?

1 回答

  • 1

    你得到一个警告:

    [警告]:无法解析/ home / ansibleadmin / dev_playbook / dev作为库存源

    根据您在上面发布的"project directory"树,您的计算机上不存在警告消息 /home/ansibleadmin/dev_playbook/dev 中的目录 .


    使用相对路径的正确命令(在playbook目录中)是:

    ansible-playbook -i inventories/dev site.yml
    

    使用绝对路径的正确命令是:

    ansible-playbook -i /home/ansibleadmin/dev_playbook/inventories/dev site.yml
    

相关问题