ansible源码安装、普通用户实现批量控制
一、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源码安装、普通用户实现批量控制的更多相关文章
- ansible源码安装
一.升级python 笔者系统为centos6.5,系统默认安装python2.6,虽然ansible官方文档要求python版本为2.6或2.7,然而许多人都说使用2.6可能出现一系列问题,所以作者 ...
- 源码安装Ansible
一.Ansible介绍 ansible是一款的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批 ...
- Linux 源码安装Ansible 参考篇
Ansible 源码搭建配置 近期在学习自动化运维相关技术,文章主要模拟内网情况下对Ansible的安装演示,源码安装较为繁琐.枯燥,尤其是在实际安装过程中可能出现各式各样的问题,所有在安装过程中尽量 ...
- CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)
1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...
- ansible源码解读
Ansible源码获取 Ansible Github:https://github.com/ansible Ansible目录结构 $ tree -L 2 ansible-2.0.0.0 ansibl ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- 搭建LNAMP环境(二)- 源码安装Nginx1.10
上一篇:搭建LNAMP环境(一)- 源码安装MySQL5.6 1.yum安装编译nginx需要的包 yum -y install pcre pcre-devel zlib zlib-devel ope ...
- 搭建LNAMP环境(一)- 源码安装MySQL5.6
1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
随机推荐
- 《Effective Java》 读书笔记(三) 使用私有构造方法或枚举实现单例类
1.单例类到现在为止算是比较熟悉的一种设计模式了,最开始写单例模式是在C#里面,想要自己实现一个单例类,代码如下: public class Instance { private static rea ...
- NOIP模拟 24
连续爆炸的开端. 从这一场开始我没状态了 T1 star way to heaven 受强降雨boboQQQ影响,我一直认为这是一道和凸包有关的计算几何题 很快就弃了,除了期望没做过带实数的题,所以吓 ...
- Net Core Identity 身份验证:注册、登录和注销 (简单示例)
一.前言 一般我们自己的系统都会用自己设置的一套身份验证授权的代码,这次用net core的identity来完成简单的注册.登录和注销. 二.数据库 首先就是创建上下文,我这里简单的建了Users和 ...
- Java设计模式之单利模式(Singleton)
单利模式的应用场景: 单利模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例.并提供一个全局反访问点.单利模式是创建型模式.单利模式在生活中应用也很广泛,比如公司C ...
- R画图——分屏
最近项目需求,用R画了一个九宫格的图,第一次画,将简化后的脚本呈现一下,不是有人说,既然做了,那就摆出来吧. *中文行为说明: args <- commandArgs(T) 调用命令行读取 fi ...
- Spark(一)—— 大数据处理入门
一.Spark介绍 Apache Spark is a fast and general-purpose cluster computing system. It provides high-leve ...
- 设置Ubuntu下vim缩进为4个空格
输入命令编辑vim配置文件: sudo vim /etc/vim/vimrc 文件中添加如下: 保存退出即可
- 基于R数据分析之常用Package讲解系列--1. data.table
利用data.table包变形数据 一. 基础概念 data.table 这种数据结构相较于R中本源的data.frame 在数据处理上有运算速度更快,内存运用更高效,可认为它是data.frame ...
- lqb 基础练习 十六进制转十进制
基础练习 十六进制转十进制 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~ ...
- suseoj 1208: 排列问题 (STL, next_permutation(A.begin(), A.end()))
1208: 排列问题 时间限制: 1 Sec 内存限制: 128 MB提交: 2 解决: 2[提交][状态][讨论版][命题人:liyuansong] 题目描述 全排列的生成就是对于给定的字符集或 ...