janneyabc 发表于 2018-1-3 19:57:12

自建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
  

  

  

# 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>  
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>  
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
  

  

  

# 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
  

  

  

# ll /yumsalt/  
total 24
  
drwxr-xr-x. 2 root root4096 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
  

  
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
  

  

  

# pwd  
/yumsalt
  
# vi salt-new.repo
  

  
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
  

  

  

# ll /yumsalt/  
total 24
  
drwxr-xr-x. 2 root root4096 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 root1744 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
  

  

  

# pwd  
/etc/yum.repos.d
  
# wget http://192.168.0.130/salt/salt-new.repo
  

  OK....现在客户端服务器已经可以使用发布的自建仓库源yum install salt-minion -y安装了
页: [1]
查看完整版本: 自建Saltstack的repo软件源仓库