ansible基本介绍(ansible详解)
1. ansbile概念
是什么?
ansible自我理解就是一种可以远程操作大量主机、服务器的一个工具,是一种自动化运维工具
基于python开发,所以部署非常简单,只要求有python环境即可
特点:
部署简单,主控端只需要python环境,被控端只需要一个权限足够大的用户即可
可以批量控制服务器
支持API及自定义模块,可以通过python进行扩展开发
拥有自己的后台管理工具---AWX平台
ansible整体执行流程:
1. 加载自己的配置文件`/etc/ansible.ansible.cfg` 2. 加载模块信息,如默认模块command 3. 按照输入的模块操作及参数设置,生成对应需要执行的.py文件,并将该文件传输至需要远程批量操作的主机的`$HOME/.ansible/tmp/ansible-tmp-xxx/xxx.py`文件中 4. 执行.py文件 5. 执行结果返回 6. 删除主控端和被控端的临时.py文件 复制代码
2. ansible部署及配置
2.1 安装
2.1.1 git安装
# 安装git yum -y install git git clone git://github.com/ansible/ansible.git --recursive cd ./ansible source ./hacking/env-setup 复制代码
2.1.2 pip安装
yum install python-pip python-devel yum install gcc glibc-devel zibl-devel rpm-bulid openssl-devel pip install --upgrade pip pip install ansible --upgrade 复制代码
2.1.3 EPEL源的rpm包安装===推荐
# 安装EPEL源 yum -y install epel-release # 查看是否安装成功 cd /etc/yum.repos.d/ # 重新创建 本地仓库缓存 yum clean all && yum makecache 复制代码
# 安装 yum install ansible # 编译 yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto tar xf ansible-1.5.4.tar.gz cd ansible-1.5.4 python setup.py build python setup.py install mkdir /etc/ansible cp -r examples/* /etc/ansible 复制代码
确认安装成功
ansible --version # 返回ansible版本号 复制代码
2.2 主机配置
最简单的配置,直接vi操作,在上面新增如下方式
[webser] 192.168.56.102 192.168.56.103 复制代码
2.3 配置文件详解
伪原创工具 SEO网站优化 https://www.237it.com/
2.4 JK认证
# 生成秘钥对 ssh-keygen # copy公钥到被管理的主机上 ssh-copy-id -i .ssh/id_rsa.pub root@192.168.56.102 # 接着yes并输入密码即可 # 如果以后的管理中需要使用sudo权限,远程服务器的用户rick需要配置visudo为NOPASSWD # root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则) # 如果需要修改,则在远程服务器上使用visudo命令,在其中增加如下rick ALL=(ALL) NOPASSWD: ALL,需要注意大小写 # 不知道为什么,这个地方忽然会话连接切换成对应的被管理主机上了 复制代码
测试是否成功ansible all -m ping
返回pong即表示成功
作者:coderymy
链接:https://juejin.cn/post/7035095134681661448