自动化运维工具----ansiable安装与配置

自动化运维工具----ansiable安装与配置

一.配置环境

ansible是基于ssh通道传输数据的,因此集群需要添加ssh互信。

ssh-keygen

cd  ~/.ssh/

vim id_rsa.pub

将文件里面的公钥复制下来。粘贴到对端主机的 ~/.ssh/authorized_keys 文件下。

二.安装ansible

yum  -y  install  ansible

三.ansible

命令格式

HOST-PATTERN        #匹配主机模式,如all表示所有主机
-m MOD_NAME         #模块名   如:ping
-a MOD_ARGS         #模块执行的参数
-f FORKS            #生成几个子进行程执行
-C                  #(不执行,模拟跑)
-u Username         #某主机的用户名
-c  CONNection      #连接方式(default smart)    

完整示例:
[root@ansible ~]# ansible all -m shell -a "ifconfig|grep enp0s3"
172.16.3.152 | SUCCESS | rc=0 >>
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

172.16.3.216 | SUCCESS | rc=0 >>
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

四.ansible-playbook

- hosts: all
  remote_user: root
  tasks:                                    #任务
  - name: install vsftpd                    #任务名
    yum: name=vsftpd state=latest           #调用yum模块
  - name: start redis                       #任务名
    service: name=vsftpd state=started      #调用service模块
  - name: copy config file                  #任务名
    copy: src=/etc/ansible/playbooks/files/vsftpd.conf dest=/etc/vsftpd/vsftpd.conf     #调用copy模块
    notify: a                               #触发动作a
    tags: configfile                        #任务标签为configfile
  handlers:                                 #定义动作
  - name: a                                 #定义动作a
    service: name=vsftpd state=restarted    #调用service模块

猜你喜欢

转载自www.cnblogs.com/QicongLiang/p/10131711.html