当前位置: 代码迷 >> 综合 >> Ansible自动化运维——基本Ansible环境的配置、Inventory文件配置、Ansible与正则、Ansible-doc与模块
  详细解决方案

Ansible自动化运维——基本Ansible环境的配置、Inventory文件配置、Ansible与正则、Ansible-doc与模块

热度:25   发布时间:2023-12-09 02:31:33.0

文章目录

  • 一、Ansible安装与配置
      • 1、熟悉并使用Ansible
  • 二、Ansible命令
      • 1、 Ansible命令的简单示例
  • 三、Inventory文件配置
  • 四、Ansible与正则
  • 五、Ansible-doc与模块
      • 1、Ansible-doc命令
      • 2、借助ansible-doc命令查看httpd模块用法

一、Ansible安装与配置

1、熟悉并使用Ansible

实验环境

  • 三台虚拟机可上网
  • ip信息
主机信息(rhel7.5) 主机功用
server1(172.25.37.1 ) 主控节点
server2(172.25.37.2 ) 被控节点1
server3(172.25.37.3) 被控节点2

1、在server1(主控节点)上安装ansible配置网络yum源(阿里云)


[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0

在这里插入图片描述
在这里插入图片描述

2、查看ansible的配置文件
在这里插入图片描述

  • 在运行Ansible命令时,命令将会按照预先设定的顺序查找配置文件

    1)ANSIBLE_CONFIG:首先,Ansible命令会检查环境变量,及这个环境变量将指向的配置文件

    2)./ansible.cfg:其次,将会检查当前目录下的ansible.cfg配置文件

    3)~/.ansible.cfg:再次,将会检查当前用户home目录下的.ansible.cfg配置文件

    4)/etc/ansible/ansible.cfg:最后,将会检查在用软件包管理工具安装Ansible时自动产生的配置文件

3、定义Inventory(主机列表), 在/etc/ansible/hosts中写入被管控主机

在这里插入图片描述
在这里插入图片描述
4、调用ping模块来检测网络是否可达

执行命令 ansible test -m ping(参数-m:表示要执行的模块,默认为command)

  • 报错:这是因为没有输入被管控主机的连接密码,因为ansible执行动作都是先ssh到此被管控主机然后执行动作的

在这里插入图片描述

  • 下列报错是因为用户ssh访问时,会把每个访问过主机的公钥(public key)都记录在/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。当root用户第一次登陆某主机时, /.ssh/known_host中无此主机的公钥,所以登陆失败。

在这里插入图片描述

执行命令 ansible test -m ping -k(-k:提示输入ssh登录密码,当使用密码验证的时候用)
在这里插入图片描述

5、创建普通用户devops,执行分发任务
linux机器都禁止使用root远程登陆,更安全的做法是用普通用户登陆,分发任务。

(1)在ansible主机上和server2和server3上创建普通用户devops,用于ansible任务分发与执行。
保证ansible与hosts主机上devops用户id相同