• RHCE学习 --- 第八次作业(ansible)


    RHCE学习 — 第八次作业(ansible


    在这里插入图片描述

    \

    一、基础环境:

    采用一台centos7的主机为控制节点master,两台centos8的主机为受控节点(node01,node02)

    三台主机均安装ansible并可以使用

    三台主机有IP地址且可以互相ping通

    均配置时间服务器,可以同步时间

    均可以使用yum安装软件

    均关闭防火墙与selinux


    二、环境搭建

    首先在三台主机上都创建一个普通用户用于远程连接

    [root@node01 ~]# useradd inui
    [root@node01 ~]# echo toko | passwd --stdin inui
    Changing password for user inui.
    passwd: all authentication tokens updated successfully.
    
    • 1
    • 2
    • 3
    • 4


    然后配置该普通用户的sudo

    [root@node01 ~]# grep inui /etc/sudoers
    inui ALL=(ALL)      NOPASSWD: ALL
    
    • 1
    • 2


    由于ansible采用OpenSSH进行传输,因此为了方便起见,配置控制节点的inui用户可以用密钥登录受控节点inui用户

    且控制节点的root可以免密登录受控节点的root

    也为了方便起见,在/etc/hosts文件中写入三台主机所对应的域名

    在这里插入图片描述

    [root@master ~]# su - inui
    [inui@master ~]$ ssh-keygen
    [inui@master ~]$ ssh-copy-id inui@node01
    [inui@master ~]$ ssh-copy-id inui@node02
    [inui@master ~]$ ssh-copy-id inui@master
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、ansible基本配置操作


    ansible的配置文件生效与当前工作目录有关,有下面三种形式,优先级依次提高
    [root@master ~]# ll /etc/ansible/ansible.cfg
    [root@master ~]# ll ~/.ansible.cfg
    [root@master ~]# ll ./ansible.cfg
    
    • 1
    • 2
    • 3


    所以这里我自己创建一个cfg文件

    在这里插入图片描述


    文件内容如下:

    在这里插入图片描述


    其中包含了inventory清单文件

    ansible默认查找生效ansible.cfg文件中所指定的inventory文件,也可以使用ansible --list -i选项临时指定inventory文件
    清单文件的默认示例文件在/etc/ansible/hosts

    由于不需要分组,所以这里只需要把三台主机都写到清单文件里即可

    在这里插入图片描述


    这时候测试一下

    在这里插入图片描述


    所有主机都success,ansible的基本配置就完成了


    四、作业题目


    ansible有许多模块

    ansible-doc -l #查看所有模块
    ansible-doc 模块名 #查看模块用法
    ansible 主机组 -m 模块 [-a ‘命令’] #ansible运行临时命令


    1,以all主机组为目标执行id命令

    在这里插入图片描述


    2,使用copy模块修改所有主机上的/etc/motd文件内容为welcome to ansible

    [inui@master ansible]$ ansible all -m copy -a 'content="welcome to ansible\n" dest=/etc/motd'
    
    • 1

    在这里插入图片描述


    3,使用command模块查看/etc/motd文件的内容

    在这里插入图片描述


    4,使用user模块创建用户wukong,uid为2000

    [inui@master ansible]$ ansible all -m user -a 'name=wukong state=present uid=2000'
    
    • 1


    5,使用yum模块安装httpd软件包并使用service模块启动该服务

    [inui@master ansible]$ ansible all -m yum -a 'name=httpd state=latest'
    [inui@master ansible]$ ansible all -m service -a 'name=httpd state=started'
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    内存一致性,指令重排序,内存屏障,volatile解析
    ArcGIS操作(四)
    whisper large-v3 模型文件下载链接
    迁移学习 - 微调
    简单使用 Hugo 博客
    beego语言golang编程语言安装bee : 无法将“bee”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
    FreeSWITCH 1.10.10 简单图形化界面12 - 注册IMS
    【Linux】Nignx的入门&使用负载均衡&动静分离(前后端项目部署)---超详细
    为何说AI是网络安全的未来?
    8 路数字量输入兼容干接点、湿节点多功能RTU
  • 原文地址:https://blog.csdn.net/Han_nashi/article/details/127983822