適應場景
在實際生產環境中,服務器往往是不能訪問互聯網,如果簡單的下載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