自建Saltstack的repo软件源仓库
因为Saltstack自己的repo源是在国外,在国内服务器yum安装Saltstack的时候下载软件包就非常慢,很多情况下还经常下载失败,其实软件包总大小只有10M左右,如果这样安装多台minion客户端就需要耗费不少时间;当然国内也有不少EPEL源提供yum安装Saltstack,但是测试了几个,发现安装的Saltstack都不是最新版。
所以,决定自己搭建一个Saltstack的repo软件源,供内部多台客户端安装minion用,在此记录一下搭建过程,以便后期挪用:
1、准备一台服务器做repo软件源的服务器
1 |
主机IP:192.168.0.130 操作系统:CentOS 6.8 x64 |
2、去Saltstack官网找对应操作系统的repo源进行yum安装,我这边操作系统都为CentOS 6.8,所以选择安装了CentOS 6的repo源
1 |
yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el6.noarch.rpm |
3、创建要存放rpm软件的目录
1 |
# mkdir /yumsalt |
4、安装createrepo和yum-utils工具,主要用作下载官方的repo源对应的软件包和制作独立软件源仓库的命令。
1 |
# yum install createrepo yum-utils -y |
5、yum repolist查看saltstack的仓库标识,因为之前安装过官网的repo源,找出saltstack的仓库标示为salt-latest
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@master /]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirror.premi.st * extras: mirrors.aliyun.com * updates: mirrors.163.com repo id repo name status base CentOS-6 - Base 6,696 epel Extra Packages for Enterprise Linux 6 - x86_64 12,345 extras CentOS-6 - Extras 64 salt-latest SaltStack Latest Release Channel for RHEL/Centos 6 120 updates CentOS-6 - Updates 959 |
6、将salt-latest仓库里源对应的rpm软件包下载至/yumsalt目录
1 |
# reposync -r salt-latest /yumsalt |
因为官方的repo源是在国外的,建议这台服务器连接国外VPN来下载,漫长的等待....总共会下载87个rpm包,大概22M
下载完毕,查看/yumsalt目录中已下载的目录文件,salt-latest目录中就是下载的rpm包
1 2 3 |
[root@localhost /]# ll /yumsalt/ total 24 drwxr-xr-x. 2 root root 12288 Mar 10 14:30 salt-latest |
7、将整个/yumsalt做出一个独立的仓库
1 |
# createrepo /yumsalt/ |
再次查看/yumsalt目录,会发现多了repodata,这是仓库的索引目录
1 2 3 4 |
[root@localhost /]# ll /yumsalt/ total 24 drwxr-xr-x. 2 root root 4096 Mar 10 14:33 repodata drwxr-xr-x. 2 root root 12288 Mar 10 14:30 salt-latest |
8、建立一个完整的repo仓库文件
1 2 3 4 5 6 7 |
# rm -rf /etc/yum.repos.d/salt-latest.repo //先删除官网的仓库文件,已经用完了.. # vi /etc/yum.repos.d/salt-new.repo [salt] name=salt baseurl=file:///yumsalt/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/saltstack-signing-key |
saltstack-signing-key是验证key文件,yum安装salt时需要验证软件包的,这个在安装官网repo源的时候自动下载到/etc/pki/rpm-gpg目录了。
9、尝试在本机yum安装salt-master和salt-minion,如果以上步骤都正确,那么已经可以用本地的repo仓库安装saltstack了
1 |
yum install salt-master salt-minion -y |
注:如不想在本机直接测试安装saltstack,可以忽略第8、9步
10、发布本机自建repo仓库
本机已经可以用了,但是想让其他客户端服务器也能用这个本机上的repo源安装saltstack,就需要把本机的repo仓库通过Apache服务发布出去
安装Apache
1 |
# yum install httpd -y |
创建软链接:
1 |
# ln -sv /yumsalt/ /var/www/html/salt |
启动httpd服务,并设置为开机自启动
1 2 |
# service httpd start # chkconfig httpd on |
到/yumsalt仓库目录,vi新建一个repo仓库文件,供客户端服务器下载调用(请修改下面IP为自己本地repo源服务器的IP)
1 2 3 4 5 6 7 8 |
[root@localhost yumsalt]# pwd /yumsalt [root@localhost yumsalt]# vi salt-new.repo [salt] name=salt baseurl=http://192.168.0.130/salt/ gpgcheck=1 gpgkey=http://192.168.0.130/salt/saltstack-signing-key |
复制saltstack-signing-key到/yumsalt/目录下
1 |
# cp /etc/pki/rpm-gpg/saltstack-signing-key /yumsalt/ |
再查看/yumsalt目录,应该有下面2个目录和2个文件
1 2 3 4 5 6 |
[root@localhost /]# ll /yumsalt/ total 24 drwxr-xr-x. 2 root root 4096 Mar 10 14:33 repodata drwxr-xr-x. 2 root root 12288 Mar 10 14:30 salt-latest -rw-r--r-- 1 root root 116 Mar 10 15:13 salt-new.repo -rw-r--r-- 1 root root 1744 Mar 10 15:01 saltstack-signing-key |
再用浏览器访问:http://192.168.0.130/salt/,出现下面界面,说明repo源仓库发布成功
11、客户端使用发布的repo源安装salt-minion
进入/etc/yum.repos.d目录,下载repo源服务器上repo源
1 2 3 |
[root@mail yum.repos.d]# pwd /etc/yum.repos.d [root@mail yum.repos.d]# wget http://192.168.0.130/salt/salt-new.repo |
OK....现在客户端服务器已经可以使用发布的自建仓库源yum install salt-minion -y安装了