自动化工具ansible(0——准备部署工作)

环境

centos:7.5(系统自带了python2.7.5版本)
ansible:2.9.9

注意:
1、管理节点可以是linus或者windows系统
2、被管理节点必须是linux系统
3、管理节点使用SSH、SFTP/SCP管理控制各节点
4、关闭并禁用selinux和firewalld

#关闭并禁用firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl daemon-reload
#关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

- 本文主要讲多种方式安装ansible,并制作离线安装包(不使用源码和pip方式)

可以参考ansible中文文档:http://www.ansible.com.cn/docs/intro_installation.html#yum

yum安装:

在线安装,需要联网,且能使用yum

sudo yum install ansible
  • 如果需要安装epel-release RPM:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

从git上获取RPM包安装:

在线安装,需要联网,需要安装git命令

$ git clone git://github.com/ansible/ansible.git
$ cd ./ansible
$ make rpm
$ sudo rpm -Uvh ~/rpmbuild/ansible-*.noarch.rpm

推荐自制依赖包方式:

  • 自建仓库安装需要在联网环境下进行,将需要的依赖包打包到本地,可在任意离线环境下安装
  • 需要下载ansible安装包和createrepo安装包

首先要下载createrepo(后面自建仓库时需要)和ansible的依赖包

用yum下载程序依赖包,并保存到指定目录有三种方式:

1、修改/etc/yum.conf配置文件

将yum配置文件/etc/yum.conf中的keepcache=0改为1,然后用yum下载的安装包都会存在于cachedir指定的目录中

2、使用--downloadonly和--downloaddir

仅下载到指定目录不安装

#获取ansible的安装包与依赖
$ yum -y install ansible --downloadonly --downloaddir=/data/packages
#获取createrepo的安装包与依赖
$ yum -y install createrepo--downloadonly --downloaddir=/data/packages

3、使用yumdownloader命令,只下载不安装

该命令在软件包 yum-utils 里面,所以要先安装yum-utils

#安装yumdownloader命令
$ yum -y install yum-utils
#获取ansible的安装包与依赖
$ yumdownloader --resolve --destdir /data/packages ansible
#获取createrepo的安装包与依赖
$ yumdownloader --resolve --destdir /data/packages createrepo

使用以上任意方式完成后,会看到目录中的依赖包

然后打包保存至本地

$ cd /data/packages
$ tar -zcvf ./ansible.tar.gz  /data/packages
#将ansible.tar.gz包下载到本地存放,然后上传到将要部署ansible的离线服务器上

使用自建仓库安装ansible

  • 首先建立一个目录用于存放安装包,然后使用createrepo来创建repository仓库
# 上传ansible.tar.gz到/data/ansible目录下,并解压
$ tar -zxvf ansible.tar.gz -C /data/ansible
# rpm安装createrepo
$ cd /data/ansible
$ rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
$ rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
$ rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
  • 制作离线源
createrepo /data/ansible

此时在 /data/ansible目录下会自动生成新目录 repodata

  • 新增yum文件/etc/yum.repos.d/ansible.repo
[ansible]
name=ansible ##仓库名
baseurl=file:///data/ansible ##仓库路径,由于是放在本地的只能用file协议
gpgcheck=0 #不做gpg检查
enabled=1 #开启该仓库
  • 安装&测试
$ yum install ansible
$ ansible --version

原文地址:https://www.cnblogs.com/psguan/p/12924113.html