ansible(playbook)批量自动化部署nginx
发布日期:2019-07-11 13:18   浏览次数:
257人阅读 2019-07-08 17:56:12

上一篇引见了运用playbook批量部署zabbix客户端,事先一切的义务全部都是写在一个playbook中,比拟臃肿,且代码不可复用。这篇文章我们将引见经过ansible的roles、include等模块完成批量装置nginx。

以下为详细完成步骤:

1、目录构造:

[root@deploy playbook-test]# tree
.
├── nginx.yml
└── roles
    └── nginx
    
        ├── files
        │   ├── nginx-1.8.0.tar.gz
        │   ├── nginx.service
        │   ├── openssl-1.0.1h.tar.gz
        │   ├── pcre-8.12.tar.gz
        │   └── zlib-1.2.11.tar.gz
        ├── handlers
        │   └── main.yml
        ├── tasks
        │   ├── copy.yml
        │   ├── group.yml
        │   ├── install.yml
        │   ├── main.yml
        │   ├── service.yml
        │   ├── template.yml
        │   ├── unarchive.yml
        │   └── user.yml
        ├── templates
        │   ├── nginx.conf.j2
        │   └── temp.conf.j2
        └── vars
            └── main.yml

2、代码内容:

cat nginx.yml

[root@deploy playbook-test]# cat nginx.yml 
---
- hosts: web
  remote_user: root
  roles:
    - nginx

cat tasks/group.yml

[root@deploy nginx]# cat tasks/group.yml 
---
- name: 创立nginx组
  group: 
    name: nginx
    gid: 202
    system: yes
    state: present

cat tasks/user.yml

[root@deploy nginx]# cat tasks/user.yml 
---
- name: 创立nginx用户
  user:
    name: nginx
    uid: 202
    group: nginx
    shell: /sbin/nologin

cat tasks/copy.yml

[root@deploy nginx]# cat tasks/copy.yml 
---
- name: 拷贝源码包
  copy:
    src: "{{ item.src }}"
    dest: "{{ item.dest }}"
  with_items:
    - { src: "nginx-1.8.0.tar.gz", dest: "/tmp/nginx-1.8.0.tar.gz" }
    - { src: "openssl-1.0.1h.tar.gz", dest: "/tmp/openssl-1.0.1h.tar.gz" }
    - { src: "pcre-8.12.tar.gz", dest: "/tmp/pcre-8.12.tar.gz" }
    - { src: "zlib-1.2.11.tar.gz", dest: "/tmp/zlib-1.2.11.tar.gz" }

cat tasks/unarchive.yml

---
- name: 解压源码包
  unarchive:
    src: "{{ item.src }}"
    dest: "{{ item.dest }}"
    remote_src: yes
  with_items:
    - { src: "/tmp/nginx-1.8.0.tar.gz",dest: "/opt/" }
    - { src: "/tmp/openssl-1.0.1h.tar.gz",dest: "/opt/" }
    - { src: "/tmp/pcre-8.12.tar.gz",dest: "/opt/" }
    - { src: "/tmp/zlib-1.2.11.tar.gz",dest: "/opt/" }
                 
            
« 上一篇:没有了
» 下一篇:没有了
  • 友情链接:
Copyright(C) 2007-2010 EntLib.com(上海闵行区浦江镇863软件孵化基地) - 企业级的电子商务系统 基于Microsoft .Net Framework / ASP.Net / C# / AJAX 平台构建的标准电子商务系统 All Rights Reserved (R)    沪ICP备08014628号