Ansible实战部署

三台虚拟机

Rsync01 192.168.0.10  被管理的机器

Nfs01            20 被管理的机器(配置好ssh服务 以及关闭防火墙等)

M01             30   管理的机器  

 

 

Ansible 管理机器 30

选择yum自动化安装 阿里云,epel原 ,前提得配置好

yum -y install epel-release

yum install ansible libselinux-python -y

 

被管理的机器10 20

yum -y install epel-release libselinux-python

 

查看你ansible的包在哪里30

rpm -ql ansible | grep -E ‘^/etc|^/usr/bin’ 查看ansible的包

 

ansible –version 查看版本好

 

ansible 的管理方式 两种

传统 的ssh 密码验证

密钥管理

 

配置好 ansible 的配置文件 添加被管理的机器ip 地址或者主机名

备份现有的配置文件  (cp)

Vim hosts

[sever]

192.168.0.10

192.168.0.20

 

Ssh 密码认证方式管理机器

Ansible 是直接利用Linux本地的ssh 服务,以及一些远程的ssh操作,一般客户端的ssh都是开启的无需额外管理

30

-m 指定功能模块 默认就是comand

-a 告诉模块执行的参数

-k 询问密码验证

-u 指定运行的用户

例告诉被管理的机器,你要执行什么 ,以及用什么用户去执行

Ansible server -m command -a“hostname” -k -u root

如上的操作一般会有红色文字报错 只需要手动ssh对主机进行一次链接即可使用ansible命令

 

Ssh root@192.168.0.10  链接确认 yes  输入链接的主机密码即可

 

 

Ansible 认证之批量免密登录

每次执行ansible 命令的时候都需要输入对应的主机密码这样就很繁琐 因此我们可以设置免密登录的快捷方式

 

修改hosts文件 来实现ssh认证

可以在 /etc/ansible/hosts 定义好密码即可

192.168.0.10 ansible_user=root ansible_ssh_pass=123123

192.168.0.20 ansible_user=root ansible_ssh_pass=123123

Ansible_host   主机地址

Ansible_port    端口,默认是22端口

ansible_user    认证用户

ansible_ssh_pass  用户密码

 

以上的这个免密方式 如果 主机被攻陷 从机的信息也会被共攻陷的人拿到,所以我们需要ssh 密钥的方式批量管理主机 这个方式比hosts 文件更安全放心

创建shell 脚本文件 来 执行公私钥免密登录

ssh-keygen -f ~/.ssh/id_rsa -P “” > /dev/null 2>&1

-ssh-keygen 密钥生成的命令

-f 把私钥文件写到用户的家目录下的.shh目录当中,把私钥的信息写入到 id_rsa中

-p 指定空字符串 把空的密码写到私钥rsa中

把输出的信息(正确或者错误)重定向到dev/null 写道黑洞&1当中

此时检查公私要文件 cd /.shh  然后查看是否存在id_rsa这个文件

然后 创建一个脚本文件

命令如下

#!/bin/bash

rm -rf ~/.ssh/id_rsa*

ssh-keygen -f ~/.ssh/id_rsa -P “” > /dev/null 2>&1

SSH_Pass=123123

Key_Path=~/.ssh/id_rsa.pub

for ip in 30 40  (你的从机地址)

do

       sshpass -p$SSH_Pass ssh-copy-id -i $Key_Path “-o StrictHostKeyChecking=no”192.168.0.$ip

done

~                                                                                          

-o ‘ StrictHostKeyChecking=no’: 登录不需要确认  

连接主机就是

Ssh  o ‘ StrictHostKeyChecking=no’’要登陆的主机号’

总结

在生产环境中,ansible 的连接方式 最好就是配置 ssh公私要免密登录

如果生产环境要求较高 可以用普通用户执行 在提权操作

原文地址:http://www.cnblogs.com/smile020420/p/16908343.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性