ansible安装与部署

【ansible安装与部署】1.安装ansible
yum install ansible -y
2.管理被控端,管理机先生成秘钥,然后推送公钥
[root@demo ~]# ssh-keygen
[root@demo ~]# do ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.i; done
3.配置被管理的主机清单
[root@demo ~]# vim /etc/ansible/hosts
[web]
10.0.0.100
10.0.0.200
4.使用ansible的ad-hoc测试
[root@demo ~]# ansible all -m ping
4.1 执行远程命令
[root@demo ~]# ansible all -m shell -a "df -h"
5.ansible playbook自动化安装nginx
注意前面的空格
[root@demo ~]# vim playbook_nginx.yml

  • hosts: 主机组的名字
    remote_user: root
    vars:
    http_port: 80
    tasks:
    • name: Add Nginx Yum Repository
      yum_repository:
      name: nginx
      description: Nginx Repository
      baseurl: http://nginx.org/packages/centos/7/$basearch/
      gpgcheck: no
    • name: Install Nginx Server
      yum:
      name=nginx state=present
    • name: Configure Nginx Server
      template: src=https://www.it610.com/article/default.conf.template dest=/etc/nginx/conf.d/default.conf
      notify: Restart Nginx Server
    • name: Start Nginx Server
      service: name=nginx state=started enabled=yes
    handlers:
    • name: Restart Nginx Server
      service: name=nginx state=restarted
6.在yml同一文件下
default.conf.template文件如下
[root@demo ~]#vim default.conf.template
server {
listen {{ http_port }};
server_name localhost;
location / { root/usr/share/nginx/html; indexindex.html index.htm; }

}
7.执行ansible-playbook
检查语法
[root@demo ~]# ansible-playbook --syntax playbook_nginx.yml
模拟执行
[root@demo ~]# ansible-playbook -C playbook_nginx.yml
执行
[root@demo ~]# ansible-playbook playbook_nginx.yml

    推荐阅读