Ansible介绍:

a. ansible是一个基于Python开发的自动化运维工具
b. ansible是一个基于ssh协议实现远程管理的工具
c. ansible软件可以实现多种批量管理操作(批量系统配置、批量软件部署、批量文件拷贝、批量运行命令)
saltstack puppet (都是类似软件)

批量管理服务特征介绍.

客户端不需要启动任何服务,服务端不需要任何的配置.

Server端安装(管理端): yum -y install ansible.

ansible客户端(受控端):没有客户端软件安装.

部署安装流程(ansible自动化批量管理服务器部署流程)CentOS6.9环境:

a.管理主机: 10.0.0.61 m01

受控主机:

10.0.0.41 backup(备份主机)

10.0.0.31 nfs01(nfs服务器)

Ansible软件自动化部署条件:

b.建议基于ssh密钥方式建立远程连接.

@1.ssh-keygen 创建密钥对(管理主机上) ssh-keygen -t dsa

@2.分发公钥文件(管理主机进行分发)

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.41

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.51

@3.检查是否可以进行基于密钥远程管理;

  ssh ip uptime (ssh tony@172.16.1.x)

 免交互进行创建密钥对和 免交互进行密钥分发.

>/root/.ssh/known_hosts 追加输出重定向, 清空 known_hosts 已连接主机列表.

ssh-keygen -t dsa (创建密钥,需要进行人为干预)

ssh-keygen -t dsa -f /root/.ssh/id_rsa

-N/-P -N ""/-P""

免交互实现密钥的创建到指定的目录下:   ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""

man ssh ssh-keygen

ssh-keygen - authentication key generation, management and conversion

需要安装sshpass 软件 yum -y install sshpass

免交互进行密钥分发.

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no 172.16.1.31"

批量创建密钥对和批量分发密钥脚本:

#!/bin/bash

rm -f /root/.ssh/id*

ssh-keygen -t dsa -f /root/.ssh/id_dsa -N ""

for ip in 31 41 51 8

do

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "-o StrictHostKeyChecking=no $ip"

done

重新分发之前 cd /root/.ssh .

[root@nfs01 .ssh]# rm -f authorized_keys

删除之后再在管理主机上执行免密钥分发文件.

ssh -o StrictHostKeyChecking 参数,实现免交互认证

基于ssh口令方式建立远程连接(也可以)

通过对vim /usr/bin/ssh-copy-id 修改这个文件的端口,可以更改远程SSH的端口

{ eval "$GET_ID" ; } | ssh  -p 52113 $1 "exec sh -c 'cd; umask 077; test -d .ssh || mkdir .ssh ; cat >> .s
sh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon .ssh .ssh/authorized_keys >/
dev/null 2>&1 || true)'" || exit 1

c. ansible 软件下载安装

yum -y install ansible  服务端安装软件(ansible)

yum -y install libselinux-python 受控主机需要安装这个软件

需要修改ansible.cfg  文件

d.ansible软件应用过程.

ansible-doc -l  查看ansible的模块

Ansible实现批量管理服务器的更多相关文章

  1. ansible 开源批量管理服务器工具

    Ansible 是一款基于 Python 开发的自动化运维工具,可以进行配置管理.批量部署等功能.对于机器较多的场景,可以使用 Ansible 来免去重复敲命令的烦恼. 安装ansibleyum -y ...

  2. Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)

    一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.rep ...

  3. Ansible playbook 批量修改服务器密码 先普通后root用户

    fsckzy   Ansible playbook 批量修改服务器密码 客户的需求:修改所有服务器密码,密码规则为Rfv5%+主机名后3位 背景:服务器有CentOS6.7,SuSE9.10.11,r ...

  4. 远程管理服务器--批量管理服务器,vps

    一般大型的企事业单位都有自己的服务器,但是服务器一般都放在机房,辐射较大,噪音大,如何能有效的避免这一情况呢?哈哈,那就来个远程桌面,远程操作服务器吧. 一.使用 iis7远程连接管理工具工具下载官网 ...

  5. PSSH 批量管理服务器

    pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 1. ...

  6. pssh批量管理服务器

    pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 1. ...

  7. linux expect自动登陆远程服务器 批量管理服务器

    #!/usr/bin/expect set ipaddress [lindex $argv 0] set passwd [lindex $argv 1] set timeout 3 spawn ssh ...

  8. CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机

    使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...

  9. ansible批量管理常见的配置方法

    第7章 ansible的管理 7.1 ansible概念的介绍 ansible-playbook –syntax            检查语法 ansible-playbook -C         ...

随机推荐

  1. 如何思考博弈dp

    两个人的规则是否一致 若仅仅是先后的差别 我们可用dp解决一般思考一个子状态 对于当前的那个状态 我们进行什么样的操作 已知什么

  2. 你所不知道的 CSS 负值技巧与细节

    写本文的起因是,一天在群里有同学说误打误撞下,使用负的 outline-offset 实现了加号.嗯?好奇的我马上也动手尝试了下,到底是如何使用负的 outline-offset 实现加号呢? 使用负 ...

  3. 后端小白的VUE入门笔记, 进阶篇

    使用 vue-cli( 脚手架) 搭建项目 基于vue-cli 创建一个模板项目 通过 npm root -g 可以查看vue全局安装目录,进而知道自己有没有安装vue-cli 如果没有安装的话,使用 ...

  4. Zookeeeper应用实践(四)

    zk的应用还是非常广泛的. 1. 分布式锁 单机环境下的锁还是很容易去实现的,但是在分布式环境下一切都变得不是那么简单.zk实现分布式锁的原理还简单,因为在分布式环境中的zk节点的变化会被每一台机器w ...

  5. iview自定义实现多级表头

    最近更新: 2018-07-19 注意:最新版iview已经提供多级表头功能 参考 原理:利用多个Table组件通过显示和隐藏thead和tbody来拼接表格(较粗暴) html <div st ...

  6. Romantic HDU - 2669(扩欧)

    #include<bits/stdc++.h> using namespace std; typedef long long LL; void gcd(LL a, LL b, LL &am ...

  7. 史上最全面的SignalR系列教程-3、SignalR 实现推送功能-集线器类实现方式

    1.概述 通过前两篇 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 文章对SignalR的介绍, ...

  8. 洛谷 P3203 [HNOI2010]弹飞绵羊

    题意简述 有n个点,第i个点有一个ki,表示到达i这个点后可以到i + ki这个点 支持修改ki和询问一点走几次能走出所有点两个操作 题解思路 分块, 对于每个点,维护它走到下一块所经过的点数,它走到 ...

  9. Map集合的遍历(利用entry接口的方式)

    核心思想: 调用map集合中的方法entrySet()将集合中的映射关系存放在Set集合中. 迭代Set集合 获取出的Set集合的元素是映射关系对象 通过映射关系对象方法的getKey(),getVa ...

  10. 如何使用Python连接ldap

    如何使用Python连接ldap 好多使用ldap认证的软件都是Python的,比如superset和airflow, 好吧,他们都是airbnb家的.在配置ldap的时候可能会出现认证失败,你不知道 ...