Ansible是一个轻量级的工具,基于python语言实现,通过python中的paramiko来连接并管理机器, 功能强大(YAML,PlayBook,模块化功能),不需要安装客户端,

通过ssh连接,推送命令到客户端,只有服务器端,就可以批量管理。

 

 

#安装 ,仅供Centos6系列系统

软件包链接:https://pan.baidu.com/s/1v8B6sCzm2BO8XO9ufgMu_w 密码:ifnb

下载后通过rpm安装即可,如有依赖包问题,yum那个依赖包

Ansible 快速安装配置,常用模块

 

安装完毕后通过ansible --version 检查是否安装成功

Ansible 快速安装配置,常用模块

 

#下面介绍我在工作中的常用用法,一下均在实际环境中实现,由于实际环境,需要管理的机器很多,所以,通常情况下,机器的端口,用户名,密码等都是一样的。

首先,建立一个文件,文件中存储你想管理的主机,主机端口,主机用户名,密码等等,ansible依赖这个文件,进行批量管理动作,我这边的文件如下。

[jenkins@host-10-124-198-75 shell]$ cat yatai_all

10.124.193.76 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.165.76 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc 
10.124.193.81 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc 
10.124.165.75 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.194.185 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.165.77 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.193.77 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.163.170 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.194.3 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.165.74 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.194.187 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.165.78 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.165.73 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.193.82 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.193.78 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.32 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.194.2 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.21 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.31 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.18 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.10 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.16 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.126 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc
10.124.198.13 ansible_ssh_port=22 ansible_ssh_user=admin ansible_ssh_pass=abc ansible_sudo_pass=abc 

#上方的配置横向解释依次是ip,port,user,passwd,sudo_passwd 相信看得懂

#我这有个简单的脚本,根据你的机器来生成端口,密码等信息,并创建这个主机信息文件,如果你懒得写,你可以直接复制过去,你只需要在脚本同级目录新建一个命名为ip的文件,里面每行1个ip地址即可,调整下脚本内容,指定连接的用户,密码等

#!/bin/bash
port='ansible_ssh_port=22'
user='ansible_ssh_user='admin''
passwd='ansible_ssh_pass='abc''
sudo_passwd='ansible_sudo_pass='abc'
new_hosts_filename='new_ip'
function  run (){
for i in `cat ip`;
        do
        echo "$i $port $user $passwd $sudo_passwd " >> $new_hosts_filename
done

}
cat $new_hosts_filename &> /dev/null
if [ $? != "0" ] ; then
    run
else
    echo "file $new_hosts_filename already exists please check"
fi
View Code

相关文章:

  • 2022-12-23
  • 2021-10-18
  • 2021-06-15
  • 2021-08-05
  • 2021-09-08
猜你喜欢
  • 2021-07-05
  • 2021-06-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-08
  • 2021-05-19
相关资源
相似解决方案