当前位置: 首页 > news >正文

【ansible第三次作业】

文章目录

    • 题目
    • 1.安装部署ansible
    • 2.vim ./ansible.cfg
    • 3.vim inventory
    • 4.剧本
    • 5.测试

题目

ansible自动化部署web服务
项目(一)
任务一:安装httpd,firewalld软件包
任务二:创建网站资源文件
任务三:启动httpd,firewalld
任务四:添加防火墙规则
项目(二)
uri测试
通过debug捕获打印测试结果

1.安装部署ansible

[student@workstation ~]$ lab data-variables start     #创建data-variables工作目录

Setting up workstation for lab exercise work:

 · Verifying Ansible installation..............................  SUCCESS
 · Creating working directory..................................  SUCCESS
 . Creating Ansible files......................................  SUCCESS

[student@workstation ~]$ ll                                       #查看是否创建成功
total 0
drwxr-xr-x. 2 student student 42 Sep  9 20:43 data-variables

[student@workstation ~]$ cd data-variables/           #进入data-variables工作目录
[student@workstation data-variables]$ ll                 #查看目录下文件
total 8
-rw-r--r--. 1 student student 99 Sep  9 20:43 ansible.cfg
-rw-r--r--. 1 student student 37 Sep  9 20:43 inventory

2.vim ./ansible.cfg

[defaults]
inventory=./inventory
remote_user=root

[privilege_escalation]
become = true

3.vim inventory

[webserver]
servera.lab.example.com

4.剧本

---
- name: config web server                                                      #项目名
  hosts: webserver                                                                  #匹配主机组
  vars:                                                                                     #定义变量
    web_pkg: httpd
    firewall_pkg: firewalld
    web_service: httpd
    firewall_service: firewalld
    python_pkg: python3-PyMySQL
    rule: http
  tasks:
    - name: install pkg
      yum:
        name:                                                                             #引用变量
          - "{{ web_pkg }}"
          - "{{ firewall_pkg }}"
          - "{{ python_pkg }}"
        state: installed

    - name: start firewalld                                                      #启动防火墙服务
      service:
        name: "{{ firewall_service }}"
        state: started
        enabled: true

 

  - name: start httpd                                                             #启动httpd服务
      service:
        name: "{{ web_service }}"
        state: started
        enabled: true

    - name: create file                                                              
      copy:
        content: "Example we content"                                   #网页显示信息
        dest: /var/www/html/index.html                                   #目标路径

 

  - name: firewall-rule                                                          #指定防火墙规则
      firewalld:
        service: "{{ rule }}"
        permanent: true
        immediate: true
        state: enabled

- name: testing
  hosts: webserver
  tasks:
    - name: curl file
      uri:
        url: http://servera.lab.example.com
        status_code: 200
        return_content: yes

5.测试

ansible-playbook -C playbook.yml

PLAY [config web server] ************************************************************

TASK [Gathering Facts] **************************************************************
ok: [servera.lab.example.com]

TASK [install pkg] ******************************************************************
changed: [servera.lab.example.com]

TASK [start firewalld] **************************************************************
ok: [servera.lab.example.com]

TASK [start httpd] ******************************************************************
changed: [servera.lab.example.com]

TASK [create file] ******************************************************************
changed: [servera.lab.example.com]

TASK [firewall-rule] ****************************************************************
changed: [servera.lab.example.com]

PLAY [testing] **********************************************************************

TASK [Gathering Facts] **************************************************************
ok: [servera.lab.example.com]

TASK [curl file] ********************************************************************
skipping: [servera.lab.example.com]

PLAY RECAP **************************************************************************
servera.lab.example.com    : ok=7    changed=4    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

相关文章:

  • postgres源码解析 缓冲池管理器--1
  • 干货| 算法工程师常见问题(基础算法篇)
  • 机器学习笔记之高斯混合模型(四)EM算法求解高斯混合模型(M步操作)
  • Jupyter 介绍
  • Code For Better 谷歌开发者之声——Google Play
  • 【好书推荐】程序是怎样跑起来的
  • 关于技术分享及内卷
  • 源码解析Java数组如何选择排序的算法
  • java计算机毕业设计基于安卓Android微信小程序的共享单车租赁系统uniApp
  • TCP 的自然律
  • Cobalt Strike 注入msf会话
  • C语言字符串函数简单介绍
  • MySQL高级篇——日志
  • TiDB在线修改集群配置
  • 搭建TiDB双集群主从复制
  • Android Volley源码解析
  • Android优雅地处理按钮重复点击
  • docker容器内的网络抓包
  • exports和module.exports
  • Flannel解读
  • Js基础知识(一) - 变量
  • nodejs调试方法
  • node和express搭建代理服务器(源码)
  • Node项目之评分系统(二)- 数据库设计
  • Odoo domain写法及运用
  • webpack+react项目初体验——记录我的webpack环境配置
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 聊一聊前端的监控
  • 前端性能优化——回流与重绘
  • 山寨一个 Promise
  • 设计模式(12)迭代器模式(讲解+应用)
  • 正则表达式小结
  • Spring Batch JSON 支持
  • ​secrets --- 生成管理密码的安全随机数​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)bark-ml
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Note)C++中的继承方式
  • (rabbitmq的高级特性)消息可靠性
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (蓝桥杯每日一题)love
  • (论文阅读11/100)Fast R-CNN
  • (转)可以带来幸福的一本书
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .Net CF下精确的计时器
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net快速开发框架源码分享