适应场景
在实际生产环境中,服务器往往是不能访问互联网,如果简单的下载ansible源码安装,会碰到缺少各种依赖包的问题,因此,推荐制作yum源,然后使用yum安装ansible。
实验环境
- 模拟可以通互联网的主机A
- hostname:zabbix
- IP:192.168.101.201
- OS:CentOS 7.5
- 下载包目录:/data/ansible_packages
- 模拟生产环境不通互联网的主机B
- hostname:kvm
- IP:192.168.101.222
- OS:CentOS 7.5
- 存放包目录:/data/ansible_packages
关键工具(命令)
yumdownloader
:只下载指定软件的所有依赖包和安装包到指定目录,不安装createrepo
:用于创建repodata
主机zabbix的操作
在主机zabbix上安装yumdownloader
yumdownloader命令在yum-utils软件包中,首先安装yum-utils
yum -y install yum-utils
获取ansible依赖包和安装包
- 安装epel源
对于CentOS的官方yum源中没有ansible安装包,这就需要先安装支持第三方的yum仓库组件,这里选择安装epel源;执行下边命令从互联网安装epel源:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- 获取ansible依赖包和安装包
yumdownloader --resolve --destdir /data/ansible_packages ansible
获取createrepo的依赖包和安装包
yumdownloader --resolve --destdir /data/ansible_packages createrepo
成功执行上边几条命令后,查看/data/ansible_packages
下文件列表如下:
打包/data/ansible_packages目录下的所有包并上传到主机kvm
cd /data/ansible_packages/
tar -zcvf ansible.tar.gz ./*
scp ./ansible.tar.gz root@192.168.101.222:/data/ansible_packages/
注意:主机kvm上的/data/ansible_packages/要存在!
主机kvm上的操作
解压压缩包
cd /data/ansible_packages
tar -zxvf ansible.tar.gz
安装createrepo
cd /data/ansible_packages
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_packages
成功执行后能在/data/ansible_packages看到新增了一个repodata目录:
新增yum文件/etc/yum.repos.d/ansible.repo
[ansible]
name=ansible
baseurl=file:///data/ansible_packages
gpgcheck=0
enabled=1
测试安装ansible
yum install ansible
验证
ansible --version