文章目录
- 一、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相同