我刚刚开始使用Ansible-如果这个问题被误导了,请耐心等待。
我在网络上有几个服务器,其中一个我计划设置为控制节点(Rhel7.9(。我想在该系统上本地使用ansible,使用一些感兴趣的剧本来配置自己,并在推广到其他系统之前将其作为一种测试。我正在设置我的ansible配置和清单——从我读到的所有内容来看,它似乎是为了简单地将配置推送到托管节点。。。而不是为你所在的机器运行1次。
如果我只是想从易感星系中提取一个剧本,并在控制节点上本地运行它呢?
这会像运行一样简单吗
ansible-playbook -i "localhost," -c local playbook.yml
我甚至需要为我所在的机器设置库存和配置吗?有没有因为我的愚蠢而错过的最佳实践?
谢谢!
Q:">从Ansible Galaxy中提取一个剧本,并在控制节点上本地运行">
A: 是的。例如战术手册
shell> cat playbook.yml
- hosts: all
gather_facts: false
tasks:
- debug:
var: inventory_hostname
就像运行一样简单
shell> ansible-playbook playbook.yml -i localhost,
PLAY [all] **********************************************************************
TASK [debug] ********************************************************************
ok: [localhost] =>
inventory_hostname: localhost
...
最佳实践
查看剧本并确保您了解剧本将要配置的内容。
首先检查语法
shell> ansible-playbook playbook.yml -i localhost, --syntax-check
- 试运行剧本并显示更改
shell> ansible-playbook playbook.yml -i localhost, --check --diff
- 如果你认为一切都好,那就照着剧本
shell> ansible-playbook playbook.yml -i localhost,
特权升级
以用户身份运行Ansible,成为root。请参阅上面关于如何做到这一点的链接。例如,编辑剧本
shell> cat playbook.yml
- hosts: localhost
gather_facts: false
become: true
tasks:
- command: ls -la /root/.ssh
register: result
- debug:
var: result.stdout_lines