一.ansible
1.概念
ansible是一个基于Python开发的自动化运维工具!
其功能实现基于SSH远程连接服务!
ansible可以实现批量系统配置、批量软件部署、批量文件拷贝、批量运行命令等功能
2. 址:
http://docs.ansible.com/ 官
3.特点
不需要单独安装客户端(no agents),基于系统自带的sshd服务,sshd就相当于ansible的客户端。
不需要服务端(no servers)。
需要依靠大量的模块实现批量管理。
4.优点:
(1) ansible软件特点:
· 可以实现批量管理/部署
ansible oldboy -m command -a “hostname” 批量执行命令
· 编写剧本-脚本(playbook)—针对重复性的操作
(2) ansible核心功能:
· pyYAML—–用于ansible编写剧本所使用的语言格式(saltstack—python)
· paramiko—远程连接与数据传输
· Jinja2—–用于编写ansible的模板信息(扩展部分)
5.安装:
yum -y install ansible 管理端安装软件
yum -y install libselinux-python 被管理端关闭selinux服务
二.ansible部署
【命令部署】
部署好基于ssh密钥认证管理方式认证环境
(1)创建密钥对
ssh-keygen -t rsa
(2)分发密钥对
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.1.41
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.1.31
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.1.7
(3)登陆验证
ssh 172.16.1.41
ssh 172.16.1.31
ssh 172.16.1.7
【脚本部署】
1.批量部署
#!/bin/bash
#create key pair
rm -f /root/.ssh/id_dsa*
ssh-keygen -t dsa -f /root/.ssh/id_dsa -P “” -q
#fenfa key file
for ip in 7 31 41
do
echo “==== fenfa key to host 172.16.1.$ip======================”
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub “-o StrictHostKeyChecking=no root@172.16.1.$ip”
echo “=================== fenfa end ===========================”
echo “”
done
2.批量检查
#!/bin/bash
cmd=$1
for ip in 7 31 41
do
echo “====host 172.16.1.$ip info====”
ssh root@172.16.1.$ip “$cmd”
echo “==============================”
echo “”
done
三.配置ansible hosts文件
ansible主配置文件/etc/ansible/ansible.cfg
配置hosts主机文件 vim /etc/ansible/hosts
[root]
172.16.1.7
172.16.1.31
172.16.1.41
四.ansible 命令语法
(1)指定管理单台主机方法
例:ansible 172.16.1.11 -m user -a “name=plp state=absent remove=yes”
(2)指定管理主机组
例:ansible KS -m user -a “name=plp group=root”
(3)指定管理所有主机
例:ansible all -m user -a “name=plp group=root”
五.ansible重要的模块项
六.ansible软件颜色信息
绿色: 表示查看信息,对远程主机未做改动的命令
红色: 批量管理产生错误信息
×××: 对远程主机做了相应改动
粉色: 对操作提出建议或忠告
七.ansible基于密钥管理
[root]
172.16.1.41 ansible_ssh_user=root ansible_ssh_pass=123456
172.16.1.31 ansible_ssh_user=root ansible_ssh_pass=123456
172.16.1.7 ansible_ssh_user=root ansible_ssh_pass=123456
八.编写ansible-playbook剧本
1.编写格式说明
ansible剧本格式:yaml语法格式(python脚本编写格式类似)
rsync配置文件格式:ini语法格式
sersync配置文件格式:xml语法格式
2.YAML语法规则
规则一:缩进(一个缩进两空格,注意一定不用tab)
规则二:冒 (每个冒 后一定要有空格)
规则三:短横线 – (短横线后面要空格)
3.编写案例
ansible-playbook –syntax-check cron.yml 剧本检查语法方法
ansible-playbook -C cron.yml -C模拟执行剧本
ansible-playbook cron.yml 执行剧本
(1)案例一
4.剧本编写方式
多主机单任务编写方式
多主机多任务编写方式
不同主机多任务编写方式
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览214861 人正在系统学习中 相关资源:50个批处理软件包,提高工作效率100倍_win10工具箱-C文档类资源…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!