Ansible自动运维————实验

这篇具有很好参考价值的文章主要介绍了Ansible自动运维————实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0、创建新的虚拟机,使用镜像RHEL8.5,要求/boot目录为512N,/home目录为1Gb,交换空间为2Gb,其他空间给)目录。

1、将该主机作为 Ansible 控制节点,克隆该虚拟机,将克隆的虚拟机作为受控节点,Ansible 仓库路径为 http://47.108.86.156/rhel8/ansible29/ansible-2.9-for-rhel-8-x86_64-rpms/
2、在控制节点上创建角色exam,该角色将在受控节点上完成以下任务∶
2.1,创建本地共享目录/home/materials,其所属组为sysadms, sysadms组成员对目录有修改目录里文件内容、长列表查看内容和进入该目录的权限,除此之外其它用户没有任何权限。
2.2.将系统光盘挂在载/mnt目录下,并且开机自动挂载,将控制节点本地的 rpm. repo 文件作为受控节点的yum源配置文件内容,该仓库无需开后gpg检查,配置完成后,安装httpd软件包,后动该服务并让该服务开机自启动。
2.3,创建一个sysadms组,创建两个用户 natasha和 harry 以该组为附属组,创建用户sarah,并且 sarah使用非交互式shell,该用户也不属于sysadms组,三个用户的密码都是compedel。
2.4.在根目录下创建一个目录test,在该目录中每个用户创建的文件只能自己有权限删除,其他用户没有权限删除,但是该目录对于hehe用户用所有的权限,该目录当中有一个可执行程序configtest.sh,该文件是系统/usr/bin/touch。
可执行程序的副本,该程序任何人都可以执行,但是每个人通过该程序创建的文件所有者都为redhat。
2.5、给受控节点添加sata接口、大小为10Gb大小和nvme接口、大小为20Gb大小的两块磁盘,完成以下需求∶

〉使用这两块磁盘创建卷组名称为testgroup 的卷组,使用该卷组创建testlv名称的逻辑卷,该逻辑卷大小为25Gb,并将该逻辑卷格式化为xfs格式,开机自动挂载到/exam目录。

〉使用testgroup卷组创建swaplv逻辑卷,大小为1Gb,作为交换空间并开机自动启用。

解题

0、创建新的虚拟机,使用镜像RHEL8.5,要求/boot目录为512N,/home 目录为 1Gb,交换空间为26b,其他空间给╱目录。

1、将该主机作为 Ansible控制节点,克隆该虚拟机,将克隆的虚拟机作为受控节点,Ansible 仓库路怪为 httpd://47.108.86.156/rhel8/ansible29/ansible-2.9-for-rhel-8-x86_64-rpms/

先挂载仓库下载dnf ,再挂载ansible仓库下载ansible

ansible 创建virtualbox,云计算,Powered by 金山文档

[root@localhost ansible]# yum install dnf

ansible 创建virtualbox,云计算,Powered by 金山文档

[root@localhost ansible]# dnf install ansible

2、在控制节点上创建角色exam,该角色将在受控节点上完成以下任务:

[root@localhost ansible]# ansible-galaxy init exam //创建exam角色

2.1,创建本地共享目录/home/materials,其所属组为sysadms, sysadms组成员对目录有修改目录里文件内容、长列表查看内容和进入该目录的权限,除此之外其它用户没有任何权限。

- name: exam  #创建组
  group:                
    name: sysadms
    state: present     #创建

- name: file #设置组权限
  file:
    group: sysadms
    path: /home/materials
    mode: '2770'
    state: directory   
ansible 创建virtualbox,云计算,Powered by 金山文档

2.2.将系统光盘挂在载/mnt目录下,并且开机自动挂载,将控制节点本地的rpm.repo文件作为受控节点的 yum源配置文件内容,该仓库无需开启gpg检查,配置完成后,安装httpd软件包,后动该服务并让该服务开机自启动。

- name:  mount and turn on auto mount
  mount:
      src: /dev/sr0       #挂载设备
      path: /mnt          #挂载点
      fstype: iso9660   #文件系统类型
      state: present
- name: install yum repo
  copy:
      src: /dev/yum.repos.d/rpm.repo
      dest: /etc/yum.repos.d/
- name: httpd installd      #安装httpd软件包
  yum:
      name: httpd
      state: latest          #最新版本

- name: start httpd service
  service:
      name: httpd
      enabled: true        #开机自启动  
      state: started
ansible 创建virtualbox,云计算,Powered by 金山文档

2.3,创建一个sysadms组,创建两个用户 natasha和 harry 以该组为附属组,创建用户 sarah,并且 sarah使用非交互式shell,该用户也不属于sysadms组,三个用户的密码都是compede

- name: create group sysadms    #创建sysadms组
  group:
    name: sysadms
    state: present

- name: create user natesha and harry #创建两个用户,为sysadms组附属组并设置密码
  user:
    name: "{{item.user}}"
    group: sysadms
    password: "{{'compedel'}}"
  loop:
    - {user: natasha}
    - {user: harry}    //会出现警告,但不是错误,不要紧

- name: create user sarah  #创建用户 sarah,并且 sarah使用非交互式shell,该用户也不属于sysadms组,并设置密码
  user:
    name: sarah
    shell: /user/bin/false
    password: "{{'compedel'}}"
ansible 创建virtualbox,云计算,Powered by 金山文档

2.4,在根目录下创建一个目录 test,在该目录中每个用户创建的文件只能自己有权限删除,其他用户没有权限删除,但是该目录对于hehe用户用所有的权限,该目录当中有一个可执行程序configtest.sh ,该文件是系统/usr/bin/touch 可执行程序的副本,该程序任何人都可以执行,但是每个人通过该程序创建的文件所有者都为redhat。

- name: create directory test     #创建目录test并设置权限
  file:
    path: /test
    state: directory
    mode: '1777'

- name: set permissions        #设置hehe用户的权限
  acl:
    path: /test
    entity: hehe
    etype: user
    permissions: rwx
    state: present

- name: user hehe #创建用户hehe
  user:
    name: hehe

- name: owner  #创建所有者
  user:
    name: redhat

- name: configtest.sh
  copy:
    src: /usr/bin/touch
    dest: /test/configtest.sh
    owner: redhat
    mode: '4777'
ansible 创建virtualbox,云计算,Powered by 金山文档

copy模块的作用就是拷贝文件,将ansible主机上的文件拷贝到远程主机中。

src参数 :用于指定需要copy的文件或目录

dest参数 :用于指定文件将被拷贝到远程主机的哪个目录中,dest为必须参数

content参数 :当不使用src指定拷贝的文件时,可以使用content直接指定文件内容,src与content两个参数必有其一,否则会报错。

force参数 : 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否强制覆盖,可选值有yes和no,默认值为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机中的文件保持不变。

backup参数 : 当远程主机的目标路径中已经存在同名文件,并且与ansible主机中的文件内容不同时,是否对远程主机的文件进行备份,可选值有yes和no,当设置为yes时,会先备份远程主机中的文件,然后再将ansible主机中的文件拷贝到远程主机。

owner参数 : 指定文件拷贝到远程主机后的属主,但是远程主机上必须有对应的用户,否则会报错。

group参数 : 指定文件拷贝到远程主机后的属组,但是远程主机上必须有对应的组,否则会报错。

mode参数 : 指定文件拷贝到远程主机后的权限,如果你想将权限设置为"rw-r--r--",则可以使用mode=0644表示,如果你想要在user对应的权限位上添加执行权限,则可以使用mode=u+x表示。

2.5、给受控节点添加sata接口、大小为10Gb大小和nvme接口、大小为20Gb大小的两块磁盘,完成以下需求∶

ansible 创建virtualbox,云计算,Powered by 金山文档

注意:在虚拟机在关机状态下设置

ansible 创建virtualbox,云计算,Powered by 金山文档

〉使用这两块磁盘创建卷组名称为testgroup 的卷组,使用该卷组创建testlv 名称的逻辑卷,该运辑卷大小为25Gb,并将该逻辑卷格式化为xfs格式,开机自动挂载到/exam目录。

- name: create lvg testgroup #使用这两块磁盘创建卷组名称为testgroup
  lvg:
    vg: testgroup
    pvs: /dev/nvme0n2,/dev/sda
    state: present  #可不写,默认是present

- name: create lvol testlv #使用testgroup卷组创建testlv名称的逻辑卷,并设置大小
  lvol:
    vg: testgroup
    lv: testlv
    size: 25G
    state: present  #可不写,默认是present

- name: filesystem xfs  #逻辑卷格式化为xfs
  filesystem:
    fstype: xfs
    dev: /dev/mapper/testgroup-testlv

- name: mkdir /exam
  file:
    path: /exam
    state: directory

- name: mount  #自动挂载到/exam目录
  mount:
    src: /dev/mapper/testgroup-testlv
    path: /exam
    fstype: xfs
    state: present

〉使用testgroup卷组创建swaplv逻辑卷,大小为 1Gb,作为交换空间并开机自动后用。

- name: create lvol swaplv  #使用testgroup卷组创建testlv名称的逻辑卷,并设置大小
  lvol:
    vg: testgroup
    lv: swaplv
    size: 1G

- name: filesystem swap  #逻辑卷格式化为swap
  filesystem:
    fstype: swap
    dev: /dev/mapper/testgroup-swaplv

- name: mount
  mount:
    src: /dev/mapper/testgroup-swaplv
    path: /exam
    fstypy: swap
    state: present

lvg模块 创建卷组

vg 定义卷组名

state {present 创建,absent 删除}

pvs 指定物理卷

pesize 定义pe大小

lvol模块 创建逻辑卷

lv 定义逻辑卷名

size 定义逻辑卷大小

vg 空间来自哪个卷组

state{present 创建,absent 删除}

force=yes 强制执行

filesystem模块

• 用于格式化,也就是创建文件系统

• 常用选项:

– fstype:指定文件系统类型

– dev:指定要格式化的设备,可以是分区,可以是逻辑卷

mount模块

• 用于挂载文件系统

• 常用选项:

– path:挂载点。如果挂载点不存在,自动创建。

– src:待挂载的设备

– fstype:文件系统类型,

– state:mounted表示永久挂载 ,设备将被主动安装,并在fstab中适当配置。如果挂载点不存在,则将创建挂载点。

unmounted 设备将卸载而不更改fstab。

present仅指定设备将在fstab中配置﹐不会触发或要求挂载。

absent表示设备支架的条目将从fstab中删除还将卸载设备并删除挂载点。

remounted指定当您想强制刷新挂载本身时,设备将被重新安装。

看案例:

ansible 创建virtualbox,云计算,Powered by 金山文档
ansible 创建virtualbox,云计算,Powered by 金山文档
ansible 创建virtualbox,云计算,Powered by 金山文档

运行playbook:

验证语法是否有误: ansible-playbook --syntax-check playbook的名称

运行playbook: ansible-playbook playbook的名称文章来源地址https://www.toymoban.com/news/detail-781170.html

ansible 创建virtualbox,云计算,Powered by 金山文档

到了这里,关于Ansible自动运维————实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化运维工具——Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月14日
    浏览(47)
  • 自动化运维工具—Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 市面上其他自动化工具:pupet(ruby语言) saltstack(python) chef(C/S模式)等 Ansible能批量配

    2024年02月10日
    浏览(43)
  • Ansible 自动化运维工具

    目录 一: Ansible 简介   Ansible与其他自动化运维工具对比  二: ansible 环境安装部署   三:ansible 命令行模块 1、command 模块 2、 shell 模块 3、 cron 模块 4、 user 模块 5、 group 模块  6、copy 模块 7、 file 模块  8、hostname 模块 9、ping 模块 10、 yum 模块 11、 service/systemd 模块

    2024年02月15日
    浏览(42)
  • 自动化运维ansible(role)

    一、role的介绍 1、Roles称为角色,本质上是为简化playbook配置文件而产生的一种特殊的方法。 2、简单来说,roles就是将原本在一个yaml中的文件进行规则化分散,封装到不同的目录下,从而简化playbook的yaml配置文件大小。从其实现方法上来看,类似于软件开发上的代码封装。

    2024年02月07日
    浏览(33)
  • Ansible自动化运维工具

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 ansible 自动化运维工具(机器管理工具) 可以实现批量管理多台(成百上千)主机,应用级

    2024年02月14日
    浏览(44)
  • 自动化运维工具之Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月08日
    浏览(65)
  • 自动化运维——ansible (五十二) (01)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、概述 1.1 为什么要用自动化运维软件 1.2 自动化运维 1.3 自动化运维要注意的方面 1.4 自动化运维主要关注的方面  1.5 常见的开源自动化运维软件 1.6 自动化运维软件一般安装在哪 二、ansibl

    2024年02月09日
    浏览(42)
  • Linux:ansible自动化运维工具

    当前所有执行权限我是在root下执行的,如果提示权限之类的,可以在每句命令前  加上 sudo     ansible主服务器  192.168.0.194         另外两个客户端分别为 192.168.0.193   192.168.0.192 软件只需要在主服务器上安装,客户端不需要去安装软件,因为他们相互使用的是ssh 只需要

    2024年02月11日
    浏览(41)
  • Ansible 自动化运维工具(完善版)

    目录  Ansible概述 Ansible特点 Ansible应用 1、使用者 2、Ansible工具集合 3、作用对象 Ansible的搭建 环境 ansible主机 1、ansible 2、Ansible-doc Ansible模块 1.command模块 2.shell模块 3.raw模块 Ansible是最近非常火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工

    2024年02月16日
    浏览(40)
  • 自动化运维工具——Ansible学习(二)

    目录 一、handlers和notify结合使用触发条件 1.新建httpd.yml文件 2.复制配置文件到ansible的files目录中 3.卸载被控机已安装的httpd 4.执行httpd.yml脚本 5.更改httpd.conf配置文件 6.使用handlers 7.重新执行httpd.yml脚本 8.检查被控机的端口号是否改变 9.handlers也可以触发多个 二、tags 1.通过指定

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包