centos7源码编译安装Ansible详细部署
一、基础介绍
==========================================================================================
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机
(3)、各种模块核心模块、command模块、自定义模块
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务
1、Ansible基础安装
(1)、python2.7安装 #目前还不支持3X的版本,你也可以用
https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz tar xvzf Python-2.7.8.tgz
cd Python-2.7.8
./configure --prefix=/usr/local
make && make install
将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
cd /usr/local/include/python2.7
cp -a ./* /usr/local/include/
备份旧版本的python,并符号链接新版本的python
cd /usr/bin
mv python python.old
ln -s /usr/local/bin/python .
修改yum脚本,使其指向旧版本的python,已避免其无法运行
centos6修改如下
vim /usr/bin/yum
修改为
#!/usr/bin/python.old
centos7 增加修改vim /usr/libexec/urlgrabber-ext-down
修改为
#!/usr/bin/python.old
(2)、setuptools模块安装
https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip
unzip setuptools-39.2.0
cd setuptools-39.2.0
python setup.py install
(3)、pycrypto模块安装
https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz tar xvzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py install
(4)、YAML模块安装
http://pyyaml.org/download/libyaml/yaml-0.1.7.tar.gz tar xvzf yaml-0.1.7.tar.gz
cd yaml-0.1.7
./configure --prefix=/usr/local
make && make install
(5)、PyYAML模块安装
https://files.pythonhosted.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a/PyYAML-3.12.tar.gz tar zxvf PyYAML-3.12.tar.gz
cd PyYAML-3.12
python setup.py install
(6)、MarkupSafe模块安装
https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz tar xvzf MarkupSafe-0.9.3.tar.gz
cd MarkupSafe-0.9.3
python setup.py install https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.8.tar.gz tar xvzf Jinja2-2.7.3.tar.gz
cd Jinja2-2.7.3
python setup.py install
(7)、simplejson模块安装
https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz tar xvzf MarkupSafe-1.0.tar.gz
cd MarkupSafe-1.0
python setup.py install
(8)、Jinja2模块安装
https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47/Jinja2-2.10.tar.gz tar xvzf Jinja2-2.10.tar.gz
cd Jinja2-2.10
python setup.py install
(9)simplejson模块安装
https://files.pythonhosted.org/packages/8b/6c/c512c32124d1d2d67a32ff867bb3cdd5bfa6432660975f7ee753ed7ad886/simplejson-3.15.0.tar.gz tar xvzf simplejson-3.15.0.tar.gz
cd simplejson-3.15.0
python setup.py install
(10)httplib2安装
https://files.pythonhosted.org/packages/fd/ce/aa4a385e3e9fd351737fd2b07edaa56e7a730448465aceda6b35086a0d9b/httplib2-0.11.3.tar.gz tar zxvf httplib2-0.11.3.tar.gz
cd httplib2-0.11.3
python setup.py install
(11)libffi安装
http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/libffi-3.2.1.tar.gz tar zxvf libffi-3.2.1.tar.gz
cd libffi-3.2.1
./configure --prefix=/usr/local
make
make install
ldconfig
(12)six安装
https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz tar zxvf six-1.11.0.tar.gz
cd six-1.11.0
python setup.py install
(13)cffi安装
https://files.pythonhosted.org/packages/e7/a7/4cd50e57cc6f436f1cc3a7e8fa700ff9b8b4d471620629074913e3735fb2/cffi-1.11.5.tar.gz tar zxvf cffi-1.11.5.tar.gz
cd cffi-1.11.5
python setup.py install
(14)cryptography安装
https://files.pythonhosted.org/packages/ec/b2/faa78c1ab928d2b2c634c8b41ff1181f0abdd9adf9193211bd606ffa57e2/cryptography-2.2.2.tar.gz tar zxvf cryptography-2.2.2.tar.gz
cd cryptography-2.2.2
python setup.py install
(15)pyOpenSSL安装
https://files.pythonhosted.org/packages/9b/7c/ee600b2a9304d260d96044ab5c5e57aa489755b92bbeb4c0803f9504f480/pyOpenSSL-18.0.0.tar.gz tar zxvf pyOpenSSL-18.0.0.tar.gz
cd pyOpenSSL-18.0.0
python setup.py install
(16)pycparser安装
https://files.pythonhosted.org/packages/8c/2d/aad7f16146f4197a11f8e91fb81df177adcc2073d36a17b1491fd09df6ed/pycparser-2.18.tar.gz tar zxvf pycparser-2.18.tar.gz
cd pycparser-2.18
python setup.py install
(17)paramiko安装
https://files.pythonhosted.org/packages/29/65/83181630befb17cd1370a6abb9a87957947a43c2332216e5975353f61d64/paramiko-2.4.1.tar.gz tar zxvf paramiko-2.4.1.tar.gz
cd paramiko-2.4.1
python setup.py install
(18)passlib安装
https://files.pythonhosted.org/packages/25/4b/6fbfc66aabb3017cd8c3bd97b37f769d7503ead2899bf76e570eb91270de/passlib-1.7.1.tar.gz tar zxvf passlib-1.7.1.tar.gz
cd passlib-1.7.1
python setup.py install
(19)、ansible安装
https://github.com/ansible/ansible/archive/
https://pypi.org/project/ansible/ https://files.pythonhosted.org/packages/6e/95/490f5e39ee7cc7956eecd070610f0a873b97781c9efdbf6098bad2ed3ee0/ansible-2.5.4.tar.gz tar zxvf ansible-2.5.4.tar.gz
cd ansible-2.5.4
python setup.py install
2、Ansible配置
(1)、SSH免密钥登录设置
分别在各个机器上执行SSH无密码验证登录的实现
vim /etc/ssh/sshd_config 开启
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径 ssh-keygen -t rsa 生成密钥文件
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub IP 重启SSH服务: /bin/systemctl restart sshd.service
/etc/init.d/sshd restart
将所有机器的key都在加在各自的authorized_keys里。
重启SSH服务:
/bin/systemctl restart sshd.service
(2)、ansible配置
mkdir -p /etc/ansible
vim /etc/ansible/ansible.cfg inventory = /etc/ansible/hosts
remote_port = 22
主机组定义
vim /etc/ansible/hosts [web59]
192.168.1.59
(3)、简单测试
ansible all -m command -a 'uptime' 192.168.1.229 | SUCCESS | rc=0 >>
13:00:08 up 5 days, 18:58, 2 users, load average: 0.01, 0.03, 0.00 192.168.1.59 | SUCCESS | rc=0 >>
13:03:29 up 5 days, 19:20, 5 users, load average: 0.00, 0.00, 0.00
centos7源码编译安装Ansible详细部署的更多相关文章
- Centos7源码编译安装PHP7.2(生产环境)
安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
- WordPress安装篇(5):源码编译安装LNMP并部署WordPress
与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...
- centos7 源码编译安装TensorFlow CPU 版本
一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...
- Centos7源码编译安装mysql8
前面介绍了很多关于mysql的文章,下面主要介绍一下mysql8的源码编译安装 一 基本环境 [root@CentOS-7-x86-64-Minimal-1810 ~]# cd /usr/local/ ...
- CentOS7 源码编译安装Nginx
源码编译安装nginx 1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...
- centos7源码编译安装Subversion 1.9.5
svn是Subversion的简称,是一个开放源代码的版本控制系统.svn有两种运行方式:1.独立服务器(svn://xxx.xxx/xxx) 2.借助apache(http://svn.xxx.xx ...
- 源码编译安装Apache-附一键部署脚本
1.进入apache官网https://www.apache.org/,点击Download 2.如图选择 3.选择httpd 4.下载两个包,2.2为CentOS6使用,2.4为CentOS7使用 ...
- centos7 源码编译安装 php
准备工作 下载 PHP 源码包并解压 $ wget https://www.php.net/distributions/php-7.2.19.tar.bz2 $ yum -y install bzip ...
随机推荐
- C++函数重载实现的原理以及为什么在C++中使用用C语言编译的函数时,要在函数名称前面加上extern "C"声明
C++相对于C语言而言支持函数重载是其极大的一个特点,相信在使用C语言的时候大家如果要写一个实现两个整型数据相加的函数还要写一个浮点型数据相加的函数,那么这两个函数的名字绝对不可以一样,这样无疑在我们 ...
- http(一)web和网络基础
深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...
- DOCKER 从入门到放弃(三)
使用docker create [image-name] 创建一个容器 创建一个nginx镜像的容器,由于没有指定各项参数,容器实用默认参数,创建后并不会启动,并将容器的ID输出到终端,如果本地没有镜 ...
- mysql主从复制原理探索
上一篇文章里面,讲到了遇到mysql主从延迟的坑,对于这次的坑多说两句,以前也看过这样的例子,也知道不能够写完之后马上更新,但是真正开发的时候还是没有注意到这一点,道理大家都懂,但是还是会犯错,只有等 ...
- JavaWeb 后端 <十三> 之 监听器 JSTL国际化
1. 监听器 1.1 概述 监听器: 主要是用来监听特定对象的创建或销毁.属性的变化的! 是一个实现特定接口的普通java类! 对象: 自己创建自己用 (不用监听) 别人创建自己用 (需要监听) ...
- 了解Java基础原理
Java 是1995年SUN公司推出的一门高级编程语言,是面向互联网的语言,WEB应用程序首选的语言(安卓底层,大数据hadoop框架用java编写,Spark用Scala编写,Scala用java写 ...
- 关于移动APP与Web APP的测试重点以及区别
Web app测试重点: 1. 功能测试:功能的实现是否满足需求. 2. 性能测试: 2.1 链接速度测试:测试页面链接的速度 2.2 负载测试:web应用系统能允许多少个用户同时在线?超过这个数量会 ...
- 基于 WebRTC 技术的实时通信服务开发实践
随着直播的发展,直播实时互动性变得日益重要.又拍云在 WebRTC 的基础上,凭借多年的开发经验,结合当下实际情况,开发 UPRTC 系统,解决了网络延时.并发量大.客户端解码能力差等问题. WebR ...
- Ambari安装之部署 (Metrics Collector和 Metrics Monitor) Install Pending ...问题
问题的由来 我这里,是因为,拿这个Ambari Metrics服务在做试验!所以先删除它,再添加它,出现了安装被挂起的问题.... Am bari里如何删除某指定的服务(图文详解) 问题详细描述如下: ...
- 【学习笔记】C# 封装和继承
封装 封装是实现面向对象程序设计的第一步 封装就是将数据.方法等集合在一个个单元中,我们称之为类 封装的意义在于保护代码/数据,屏蔽复杂性 继承 继承是所有面向对象语言不可缺少的部分 继承是为了实现类 ...