01.批量管理服务知识介绍
a.ansible是一个基于Python开发的自动化运维工具
b.ansible是一个基于ssh协议实现远程管理的工具
c.ansible软件可以实现多种批量管理操作(批量系统配置,批量软件部署,批量文件拷贝,批量运行命令)
salstack puppet
02.批量管理服务端特征介绍
a.ansible软件服务端(管理端):不需要启动任何任务 默认服务端不需要任何配置
b.ansible软件客户端(受控制):没有客户端软件安装
03.ansible软件安装部署
a.ansible软件自动化环境架构规划
管理主机1台:
被管理主机3台:
b.ansible软件自动化部署条件
建议基于ssh秘钥方式建立远程连接
a.ssh秘钥对创建(管理主机)
ssh-keygen -t dsa(rsa)
影响免交互创建秘钥对创建
1).需要指定秘钥存放路径
-f /root/.ssh/id_dsa
2).需要进行私钥文件密码设定
-N/-P
-N ” “/-P ” “
免交互创建秘钥对的方法
ssh-keygen -t dsa -f /root/.ssh/id_dsa -N “”
b.分发公钥文件(管理主机进行分发)
ssh-copy-id -i(只有这一个参数) /root/.ssh/id_dsa_pub user IP
影响免交互批量分发秘钥因素
1).需要有确认连接过程,需要输入yesno
-o StrictHostKeyChecking=no
2).需要解决密码问题
sshpass -p010510 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
3).免交互批量分发公钥脚本
c.检测是否可以进行基于秘钥远程管理
ssh user@IP
免交互批量验证脚本
补充说明:ssh-copy-id命令分发公钥原理
基于ssh口令方式建立远程连接
ssh “$@” “exec sh -c ‘cd ; umask 077 ; mkdir -p .ssh && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi'”
1.临时设置一个umask值,设置的值为077
2.利用脚本创建.ssh目录 mkdir -p .ssh
3.将本地公钥中的信息重定向到远程主机的.ssh/authorized_keys文件中,并授权此文件为600
c.ansible软件下载yum
ansibles受控主机软件安装(可选)
yum install libeslinux-python -y(selinux关闭的话不需要安装)
d.ansible软件受控主机添加配置
vim /etc/ansible/hosts
04.ansible软件应用过程
ansible软件模块
ansible-doc -l|wc -l
3387
ansible 管理主机信息或者主机组信息
ansible 管理主机信息或者主机信息 -m 模块名称 -a 相关模块参数
主机信息:远程主机ip地址 远程主机组名称 远程所有主机all
-m 指定相应模块
-a 利用模块中某些参数功能
第一个模块:command
参数:chdir—在执行某个命令前先切换目录
参数:creates—判断一个文件是否存在,如果已经存在,后面的命令就不会执行
参数:removes—判断一个文件是否存在,如果不存在后面的命令就不会执行
参数(必须要有的):free_form—–表示执行command模块时,必须要有linux合法命令信息
第二个模块:shell (万能模块)
参数:chdir—在执行某个命令前先切换目录
参数:creates—判断一个文件是否存在,如果已经存在,后面的命令就不会执行
参数:removes—判断一个文件是否存在,如果不存在后面的命令就不会执行
参数(必须要有的):free_form—–表示执行command模块时,必须要有linux合法命令信息
说明:shell模块可以满足command模块所有的功能,并且可以支持识别特殊符 信息 < > | ;
第三个模块:script—-专门运行脚本模块
文件类型模块:
第一个模块:copy——复制模块
参数:backup—对数据信息的备份
参数:src—-定义要推送的数据信息
参数:dest—-定义将数据推送到远程什么目录中
参数:owner—设置复制后的文件属主权限
参数:group—-设置复制后的文件属主权限
参数:node——设置复制后的文件权限(600 755)
第二个模块:file—–文件属性修改/目录创建/文件创建
· 参数:owner—设置复制后的文件属主权限
参数:group—-设置复制后的文件属主权限
参数:mode——设置复制后的文件权限(600 755)
参数:state—用于指定创建目录或文件
创建文件
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!