Ansible自动化运维

自动化运维的好处

  • 提高效率
  • 减少人为出错的可能性
  • 支持数据化管理数据化追源

Ansible介绍:ansible是一个可以同时管理多个远程主机的软件,必须是可以通过ssh登录的机器

管理及和被管理机:

#时间同步
yum -y install ntp
ntpdate ntp.aliyun.com

管理机:

#安装ansible
yum install  epel-release -y 
yum install   ansible   libselinux-python -y
#检查ansible软件安装情况
rpm -ql ansible | grep -E '^/etc|^/usr/bin'
#检查ansible版本
ansible --version

被管理机器:

#安装ansible所需系统板块
yum install epel-release  libselinux-python -y

ansible管理方式

  • 传统的输入ssh密码验证
  • 密匙管理

准备:

#备份ansible配置文件
 cp /etc/ansible/hosts{,.ori}
#向/etc/ansible/hosts添加需要管理的机器地址
[tao]
192.168.66.138

ssh密码认证方式:

执行命令前需要手动ssh对主机进行一次连接
#ssh连接
ssh root@ip
#管理机执行命令
ansible tao -m command -a "hostname" -k -u root
-m 指定功能模块,默认command模块
-a 执行参数
-k 询问密码验证
-u 指定运行的用户

配置免密登录:

#在/etc/ansible/hosts中
vim /etc/ansible/hosts
[Taoge]#自定义
 192.168.178.138 ansible_user=root  ansible_ssh_pass=111111
 192.168.178.139 ansible_user=root  ansible_ssh_pass=111111
 参数:
 ansible_host  	主机地址
 ansible_port  	端口,默认22
 ansible_user  	认证的用户
 ansible_ssh_pass  用户认证的密码
#验证
ansible tao -m command -a "ifconfig ens33"

ssh密匙方式批量管理主机:

公匙分发发脚本:
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
SSH_Pass=密码
Key_Path=~/.ssh/id_rsa.pub
for ip in 128 129
do
    sshpass -p$SSH_Pass ssh-copy-id -i $Key_Path "-o StrictHostKeyChecking=no" 192.168.66.$ip
done

通过 -o StrictHostKeyChecking=no 跳过ssh连接确认信息

#测试无需输入密码即可连接
 ansible  chaoge -m command -a "uname -a

总结:在生产环境中,最好是配置ssh公匙免密登录,如果生产环境的要求更高,可以用普通用户去执行,在提权操作,sudo

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值