一、ansible简介

ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远
程主机通讯的。

二、ansible 特点

1 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;

2 默认使用SSH协议对设备进行管理;

3有大量常规运维操作模块,可实现日常绝大部分操作;

4配置简单、功能强大、扩展性强;

5轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;

三、架构图

环境:

2台centos7

192.168.0.4主

192.168.0.5被控制

在192.168.0.4上

1、配置本地yumyuan

mkdir /etc/yum.repo/1

mv /etc/yum.repo/C*  1

vi  /etc/yum.repos.d/yum.repo

[yum.repo]
name=yum.repo
baseurl=file:///mnt/cdrom
gpgcheck=0
enable=1

yum clear all

yum install gcc -y

yum install python-devel -y

yum install unzip -y

查看python版本

python --version

2.7.*

下载包:

下载ansibel的tar包       https://releases.ansible.com/ansible/ansible-2.7.2.tar.gz

下载关联包     https://pypi.org/project/     加上下面包名

1、setuptools-40.6.2.zip

  unzip setuptools-40.6.2.zip

  cd setsetuptools-40

  python setup.py install

2、pip-18.1.tar.gz

  tar xvfz pip-18.1.tar.gz

  cd pip-18.1

  python setup.py install

3、pycrypto-2.6.1.tar.gz

4、PyYAML-3.11.tar.gz

5、MarkupSafe-0.9.3.tar.gz

6、Jinja2-2.7.3.tar.gz

7、ecdsa-0.11.tar.gz

8、 paramiko-1.15.1.tar.gz

9、simplejson-3.6.5.tar.gz

10、pip install six-1.11.0-py2.py3-none-any.whl

11    pip install ipaddress-1.0.22-py2.py3-none-any.whl

12、pip install asn1crypto-0.24.0-py2.py3-none-any.whl

13、 pip install idna-2.7-py2.py3-none-any.whl

14、pip install enum34-1.1.6-py2-none-any.whl

15、tar xvfz cffi-1.11.5.tar.gz

16、tar xvfz  pycparser-2.19.tar.gz

17、pip install cffi-1.11.5-cp27-cp27mu-manylinux1_x86_64.whl

18、pip install cryptography-2.4.2-cp27-cp27mu-manylinux1_x86_64.whl

19、tar xvfz ansible-2.7.2.tar.gz

注意::  所有的tar包如  第2个一样    所以有的 *.whl 的进行 pip install 包名    进行安装

检查结果:  ansible --version

可以看到  ansible的版本2.7

安装完毕。

安装参谋连接 :https://www.jianshu.com/p/8ed33efa0139

实验搭建:

两台centos7

192.168.0.4   主(安装ansible)

192.168.0.5   被监控

1、在所有机器上进行操作

  useradd ansible

  passwd ansible  (密码123456)  

sed -i '$a\ansible ALL=(ALL) NOPASSWD: ALL' /etc/sudoers

2、在192.168.0.4上进行操作:

  修改ansible管理机/etc/ansible/ansible.cfg文件 

  deprecation_warnings = Flase 

  command_warnings = False

  将客户端ip加入hosts文件 可进行分组

   vim  /etc/ansible/hosts

   [组名]    自定义分组

   IP

3、su - ansible

ssh-keygen -t rsa

  ssh-copy-id -i   192.168.0.4

  ssh-copy-id -i   192.168.0.5

部署完毕

命令操作:

1、基础命令

  ansible   ip或组    -m   command    -a   '执行脚本路径下命令'

2、shell 模块

ansible   ip    -m  shell  -a    "脚本的绝对路径"

***   ansible   ip    -m  shell  -a  "支持管道命令"

3、copy 模块

  ansible  ip    -m   copy   -a  "src=来源目录/文件  dest=目标路径  owner=属主 group=属组   mode=0755 权限"

      默认权限644   如果目标路径不存在  自动创建

4、cron 模块

   ansible ip  -m cron -a "name=任务名字随意 job='任务'      时间例如  weekday=5"

*****   "name=名字   state=absent"   取消任务

 

  minute分钟            可以写成   mintue='1-10'            '1,5,6'

  hour 小时               每隔2小时   hour=*/2

  day   日期

  month   月份

5、service 模块  yum  模块

   ansible   ip    -m  yum  -a "name=包名(必须精准包名)"    安装包

   ansible  ip  -m  service -a  "name=服务  state=started/stopped  enabled=yes/no"

********   所有命令后面加上    --sudo     执行的root权限

例如:   ansible  all  -m shell -a "/home/ansible/ip.sh"  --sudo

ansible源码安装、普通用户实现批量控制的更多相关文章

  1. ansible源码安装

    一.升级python 笔者系统为centos6.5,系统默认安装python2.6,虽然ansible官方文档要求python版本为2.6或2.7,然而许多人都说使用2.6可能出现一系列问题,所以作者 ...

  2. 源码安装Ansible

    一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...

  3. Linux 源码安装Ansible 参考篇

    Ansible 源码搭建配置 近期在学习自动化运维相关技术,文章主要模拟内网情况下对Ansible的安装演示,源码安装较为繁琐.枯燥,尤其是在实际安装过程中可能出现各式各样的问题,所有在安装过程中尽量 ...

  4. CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)

    1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...

  5. ansible源码解读

    Ansible源码获取 Ansible Github:https://github.com/ansible Ansible目录结构 $ tree -L 2 ansible-2.0.0.0 ansibl ...

  6. 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展

    上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...

  7. 搭建LNAMP环境(二)- 源码安装Nginx1.10

    上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...

  8. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  9. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

随机推荐

  1. NOIP模拟 9

    %liu_runda Orz T1 随 矩阵快速幂结合概率期望 但n3无法承受 利用原根的性质,将乘法转化成加法 就变成循环矩阵n^2了 改题时苦b地卡了关:误把1当成原根的1次方,错误地认为矩阵的阶 ...

  2. 【java基础】程序员你真的理解反射机制吗?

    目录 前言 1.反射的概述 2.正式使用反射之前很有必要了解的Class类 3.反射的使用 前言 很多讲解反射的博客文章并没有详细讲解Class类,~当然包括之前的我也一样~,这样的文章只会让反射徒有 ...

  3. docker基本操作教程

    镜像操作 获取镜像 从Docker Hub搜索镜像: docker search ubuntu 下载镜像: docker pull ubuntu:18.04 若下载镜像速度较慢,更改镜像源: Ubun ...

  4. 【控制系统数字仿真与CAD】实验二:结构图法数字仿真

    一. 实验目的 1. 掌握结构图法仿真复杂控制系统的方法: 2. 掌握复杂系统联接矩阵W和输入联接矩阵W0的求解过程: 3. 掌握复杂系统的环节连接,矩阵A. B. C.D的求解过程: 4. 掌握MA ...

  5. P4544 [USACO10NOV]购买饲料Buying Feed

    额,直接思路就dp吧.(我还想了想最短路之类的233但事实证明不行2333.....) 直入主题: 化简题意:在x轴上有n个点,坐标为xi.从原点出发,目标点为e,在途中需要收集K重量的物品,在每个点 ...

  6. day 2 下午 骑士 基环树+树形DP

    #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #inc ...

  7. vue 单页面应用 app自适应方案

    本文是使用淘宝的方案进行布局开发的,遇到的问题是会对app内使用的第三方插件,当页面进行缩放后,比如高德地图中的文字会显得过小,我使用的方法就是手动的动每一个尺寸进行手动的px 到 rem的替换,而不 ...

  8. php imagick蒙版做法

    php imagick蒙版做法<pre> $image = new \Imagick(); $image->readImage(__DIR__ . '/mengban.png'); ...

  9. Git II: 操作远程Repository基础

    很久之前写过一篇Git: Setup a remote Git repository,留意到有前同事谈论到Git的一些操作,就把Git值得留意的操作补补全吧.这次,主要讲述Git远程Repositor ...

  10. mongodb基本命令,mongodb集群原理分析

    mongodb基本命令,mongodb集群原理分析 集合: 1.集合没有固定数据格式. 2. 数据: 时间类型: Date() 当前时间(js时间) new Date() 格林尼治时间(object) ...