awx中批量导入主机
环境: AWX 3.0.1.0 , ansible 2.7.7 ,docker安装
向awx 静态 inventory中批量导入主机的方法
awx 实际是个django项目, 因此他的主机定义是在数据库中,也就是那个pg库.
我们知道django有个manager的小程序,可以管理ORM数据映射.
awx 借鉴django的manager,搞了一个awx-manager 小工具. 可以将静态主机inventory,比如你早就维护好的inventory(比如/etc/ansible/hosts)批量导入到awx中. 这样就不用一台一台重新加入了. 没有条件做动态inventory的同学的利器.
操作步骤
-
定位inventory
浏览器中贴入如下url定位inventory#/inventories/inventory/1
比如:http://awx:8080/#/inventories/inventory/1
-
用awx-manager导入到这个inventory中
# awx_task 容器中有完整的django环境,不需要自己折腾装包
sudo docker exec -it awx_task awx-manage inventory_import --source=/var/lib/awx/projects/hosts --inventory-id=1
# source 必须是容器和主机都能访问得到的路径,一般这个/var/lib/awx/projects/是肯定有的,安装awx的时候也可以多 -v一个目录进去,如果没有手贴到容器里面也行
# inventory-id就是第一步定位的inventory的id, 其实是iventory表里面的key
执行后就可以在iventory中看到这些hosts了