ansible及playbook,ansibleplaybook
ansible及playbook,ansibleplaybook
ansible
一:基本配置
1.安装:yum install -y ansible
2.配置:设置 /etc/ansible/ansible.cfg
(1)设置第一次连接没有提示 host_key_checking = False
(2)开启日志功能 log_path = /var/log/ansible.log
3.配置密钥:(1)生成密钥: ssh-keygen -t rsa
(2)分发秘钥: ssh-copy-id root@IP地址
二:常见模块
注:-a参数后的命令用单引号,单引号,单引号;双引号有可能会出问题。
ansible-doc -s shell (-s 后面指定模块 帮助参数)
模块一:setup(收集远程主机信息)
[root@zabbix30 /]# ansible test -m setup
模块一:ping(测试主机是否在线)
[root@zabbix30 /]# ansible test -m ping
模块二:shell(可以使用特殊字符)
注:file copy user yum service 几个模块其实可以直接使用shell模块进行操作
[root@zabbix30 /]# ansible test -m shell -a 'useradd -M -s /sbin/nologin -r -u 321 abc'
模块三:cron(定时任务)
[root@zabbix30 /]# ansible test -m cron -a 'name="hello" minute=25 hour=11 job="touch /bye"'
模块四:copy(远程复制)
如果路径使用“/”来结尾,则只复制目录里的内容,如果没有使用“/”来结尾,则包含目录在内的整个内容全部复制。
[root@zabbix30 /]# ansible test -m copy -a 'src=/in.sh dest=/ mode=777'
[root@zabbix30 /]# scp -r root@10.0.0.7:/bye . (远程复制到本地)
模块五:script(远程执行脚本)
注:可以配合copy模块使用,copy发送完脚本后,在script批量执行脚本
[root@zabbix30 /]# ansible test -m script -a '/in.sh'
三:playbook
一:sudo 与 user
二:基本剧本
[root@zabbix30 playbook]# cat install_chrony.yml
---
- hosts: test
remote_user: root
tasks:
- name: install chrony
yum: name=chrony state=present
notify:
- start chrony
handlers:
- name: start chrony
service: name=chronyd state=started
评论暂时关闭