zoukankan      html  css  js  c++  java
  • ansible-playbook一键化部署apache服务


    原创 chaos_oper 最后发布于2019-06-13 21:31:44 阅读数 463 收藏
    展开
    Playbook(任务剧本)

    playbook是简单易用的自动化语言
    编排定义ansible任务集的配置文件,由ansible顺序依次执行,通常是JSON格式的* YML文件
    playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。
    实战:playbook一键化部署apache服务

    1.配置playbook.yml文件

    [devops@server4 ansible]$ vim playbook.yml
    ---
    - hosts: webservers
    tasks:
    - name: install httpd
    yum:
    name: httpd
    state: latest

    - name: start httpd
    service:
    name: httpd
    state: started

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    在这里插入图片描述
    2.查看playbook.yml部署的任务

    [devops@server4 ansible]$ ansible-playbook playbook.yml --list-tasks

    1

    在这里插入图片描述
    3.语法检测

    [devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

    1

    在这里插入图片描述
    4.推送

    [devops@server4 ansible]$ ansible-playbook playbook.yml

    1

    在这里插入图片描述
    5.修改测试页

    [devops@server4 ansible]$ vim playbook.yml
    ---
    - hosts: webservers
    tasks:
    - name: install httpd
    yum:
    name: httpd
    state: latest
    - name: create index.html
    copy:
    content: "www.westos.org "
    dest: /var/www/html/index.html

    - name: start httpd
    service:
    name: httpd
    state: started

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17

    6.语法检测

    [devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

    1

    7.推送

    [devops@server4 ansible]$ ansible-playbook playbook.yml

    1

    在这里插入图片描述
    8.测试
    在这里插入图片描述
    9.推送httpd.conf配置文件,开机自启

    [devops@server4 ansible]$ vim playbook.yml
    ---
    - hosts: webservers
    tasks:
    - name: install httpd
    yum:
    name: httpd
    state: latest
    - name: create index.html
    copy:
    content: "www.westos.org "
    dest: /var/www/html/index.html

    - name: configure httpd
    copy:
    src: files/httpd.conf
    dest: /etc/httpd/conf/httpd.conf
    owner: root
    group: root
    mode: 644
    notify: restart httpd

    - name: start httpd
    service:
    name: httpd
    state: started
    enabled: true

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27

    10.将http.conf配置文件放到files目录下

    [devops@server4 ansible]$ mkdir files
    [devops@server4 ansible]$ cd files/
    [devops@server4 files]$ scp server5:/etc/httpd/conf/httpd.conf .
    httpd.conf 100% 11KB 11.5KB/s 00:00

    1
    2
    3
    4

    11.语法检测并推送

    [devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

    playbook: playbook.yml
    [devops@server4 ansible]$ ansible-playbook playbook.yml

    1
    2
    3
    4

    在这里插入图片描述
    12.查看是否同步过去

    [devops@server4 files]$ md5sum httpd.conf
    f5e7449c0f17bc856e86011cb5d152ba httpd.conf
    [root@server5 ~]# md5sum /etc/httpd/conf/httpd.conf
    f5e7449c0f17bc856e86011cb5d152ba /etc/httpd/conf/httpd.conf

    1
    2
    3
    4

    13.server2是否开启httpd,并且是开机自启动
    在这里插入图片描述
    14.火墙允许httpd服务

    [devops@server4 ansible]$ vim playbook.yml
    - name: configure firewalld
    firewalld:
    service: http
    state: enabled
    permanent: yes
    immediate: yes

    1
    2
    3
    4
    5
    6
    7

    15.语法检测并部署

    [devops@server4 ansible]$ ansible-playbook playbook.yml --syntax-check

    playbook: playbook.yml
    [devops@server4 ansible]$ ansible-playbook playbook.yml

    1
    2
    3
    4

    13.不同虚拟机显示不同的测试页内容

    [devops@server4 ansible]$ vim playbook.yml

    1

    在这里插入图片描述

    [devops@server4 ansible]$ ansible-playbook playbook.yml
    [devops@server4 ansible]$ curl server5
    server5
    [devops@server4 ansible]$ curl server6
    server6

    1
    2
    3
    4
    5

    16.定义httpd端口

    [devops@server4 ansible]$ vim playbook.yml

    1

    在这里插入图片描述

    [devops@server4 ansible]$ vim files/httpd.conf
    Listen {{ http_port }}
    [devops@server4 ansible]$ ansible-playbook playbook.yml

    1
    2
    3

    17.检测端口号
    在这里插入图片描述
    18.修改apache服务的端口为8080
    1)建立模版目录templates

    [devops@server4 ansible]$ mkdir templates

    1

    2)将模版放到该目录里

    [devops@server4 ansible]$ mv files/httpd.conf.j2 templates/

    1

    3)修改playbook.yml文件

    [devops@server4 ansible]$ vim playbook.yml

    1

    在这里插入图片描述
    在这里插入图片描述
    4)推送

    [devops@server4 ansible]$ ansible-playbook playbook.yml

    1

    5)查看配置文件是否修改成功
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    点赞 1
    收藏
    分享

    chaos_oper
    发布了124 篇原创文章 · 获赞 144 · 访问量 4万+
    私信
    关注
    ————————————————
    版权声明:本文为CSDN博主「chaos_oper」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/chaos_oper/java/article/details/91894524

  • 相关阅读:
    webstorm一键格式化为Eslint标准
    Promise 对象
    ES6类的继承
    RabbitMQ之pika模块
    常见操作
    增量式爬虫
    分布式爬虫(scrapy-redis)
    crawlspider
    scrapy框架学习
    斐波那契数列
  • 原文地址:https://www.cnblogs.com/boshi-007/p/12584050.html
Copyright © 2011-2022 走看看