zoukankan      html  css  js  c++  java
  • ansible源码安装、普通用户实现批量控制

    一、ansible简介

     

    ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppetcheffuncfabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 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 '$aansible 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

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    POJ 2503 Babelfish
    POJ 1182 食物链
    POJ 2352 Stars
    POJ 2528 Mayor's posters
    POJ 1328 Radar Installation
    POJ 1017 Packets
    jQuery实现登录提示
    【1-5】jQuery对象和DOM对象
    【1-4】jQuery代码风格-导航栏
    【3】买苹果
  • 原文地址:https://www.cnblogs.com/lxc123/p/10032273.html
Copyright © 2011-2022 走看看