lihu129c 发表于 2018-7-29 08:38:48

ansible运维自动化工具

例如nginx:  (1)先把nginx.conf改成nginx.j2(以.j2结尾就行)
  (2)然后在nginx.j2里面设置一些变量:
  worker_processes{{ ansible_processor_vcpus }};CPU数量
  listen       {{ nginxport }};      监听端口变量
  (3)然后在nginx.yml中配置:(变量可以定义在里面也可以直接-e指定变量)
  ---
  - hosts: web(主机组)
  remote_user: root            (远程执行命令的用户)
  vars:                        (定义变量)
  - rpmname: nginx         (rpmname变量是nginx)
  nginxport: 8899      (nginxport变量时8899)
  tasks:                     (任务段)
  - name: yum install {{ rpmname }}
  yum: name={{ rpmname }} state=latest    (调用yum模块)
  - name: copy {{ rpmname }}.conf
  template: src=/app/{{ rpmname }}.j2 dest=/etc/nginx/{{ rpmname }}.conf backup=yes          (调用模板,这里不能用copy)

  notify:>
  tags:>  - name: start {{ rpmname }}
  service: name={{ rpmname }} state=started   (调用service模块)
  tags: start{{ rpmname }}               (定义标签)
  handlers:                                    (与前面的notify一样)

  - name:>  service: name={{ rpmname }} state=restarted(触动notify时候调用service模块)
  (4)执行命令:ansible-playbook nginx.yml
页: [1]
查看完整版本: ansible运维自动化工具