目录
一、Ansible对于企业运维的重大意义
二、Ansible的安装
三、构建Ansible清单
1.直接书写受管主机名或ip,每行一个
2.设定受管主机的组[组名称]
四、Ansible配置文件参数详解
1、配置文件的分类与优先级
2.配置新用户的Ansible配置
3.生成免密认证
本章内容练习准备:
准备三台虚拟机
虚拟机一:能连接外网,配置好本地源和epel源
虚拟机二、三:能和虚拟机一进行通信
一、Ansible对于企业运维的重大意义
Ansible 是新出现的自动化运维工具,Ansible完全基于Python开发,主要适用于一台主机同时控制多台主机,实现了批量系统配置、批量程序部署、批量运行命令等功能。需要注意的是ansible是基于模块工作的,本身没有批量部署的功能,真正具有批量部署的是ansible所运行的模块。
二、Ansible的安装
配置好epel源后 执行代码:dnf install ansible -y
安装完成后 运行 ansible --viersion
三、构建Ansible清单
/etc/ansible/hosts 全局清单文件
如果我们用shell写,查询两台主机的主机名
中间需要多次确认和输入密码
使用Ansible 在hosts
1.直接书写受管主机名或ip,每行一个
2.设定受管主机的组[组名称]
ansible
命令指定清单的正则表达式
| |
---|---|
* |
所有
172.25.254.*
westos*
|
: |
逻辑或
westos1:linux
172.25.254.100:172.25.254.200
|
:& |
逻辑与
westos1:&linux
主机即在westos1
清单也在
linux清单中
|
:! |
逻辑非
westos1:!linux
在westos1
中不在
linux中
|
~ |
以关键字开头
|
~(str1|str2)
|
以条件1
或者条件
2开头
|
四、Ansible配置文件参数详解
1、配置文件的分类与优先级
/etc/ansible/ansible.cfg 基本配置文件 , 找不到其他配置文件此文件生效~/.ansible.cfg 用户当前目录中没有ansible.cfg此文件生效./ansible.cfg 优先级最高
2.配置新用户的Ansible配置
[devops@westos_student50 .ansible]$ cp /etc/ansible/ansible.cfg .
3.生成免密认证
[devops@westos_student50 .ansible]$ ssh-keygen
在当前用户生成一个密钥
锁主控机
建立被控主机存放key位置的目录
[devops@westos_student50 .ansible]$ ansible all -m shell -a 'mkdir /home/devops/.ssh'
复制当前主机中的key
先找到key的文件名称
ansible all -m copy -a 'src=~/.ssh/id_rsa.pub dest=/home/devops/.ssh/authorized_keys mode=600 owner=devops group=devops'
给devops普通用户权限
[devops@westos_student50 .ansible]$ ansible all -m shell -a 'echo "devops ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers' -uroot -k
修改配置文件
再控制远程主机时 将会方便快捷很多