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

               

相关内容

    暂无相关文章