集中式管理工具saltstack是兼容Linux、Windows、Unix平臺,能實現服務器的批量管理,命令或腳本下發,軟件部署,環境搭建,配置管理,是運維人員的提高管理效率的工具。至於更詳細的功能與優勢這裏不再介紹,網絡上有很多前輩有介紹,這裏只介紹部署方法。
部署環境
saltstack版本:2015.8.7
服務端master:CentOS6.7 master
被控段minion:CentOS5.11 minion01
CentOS6.7 minion02
CentOS7.2 minion03
SLES11 SP3 minion04
Ubuntu 14.04.4 minion05
Windows Server 2008 R2 SP1 64bit minion06
部署過程
master的部署:
CentOS/RHEL6 yum源的添加,除了os基本yum源(參閱前面文章)外,還添加saltstack官方yum源後。
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-GPG-KEY.pub
EOF
更新yum緩存執行如下命令
yum clean all && yum makecache
安裝master端 yum install salt-master -y
修改配置文件/etc/salt/master,指定監聽的網絡接口。
這裏網絡接口指的是,如果一個網卡就是網卡上配置的IP地址。如果多個網卡,則規劃監聽來自某個網卡的數據。
啓動salt-master服務並配置開機自啓動
/etc/init.d/salt-master start
chkconfig salt-master on
minion的部署:
CentOS/RHEL5.11添加如下saltstack的yum源
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-EL5-GPG-KEY.pub
EOF
目前saltstack軟件支持的Python以及其組件需要2.6及其以上的版本,但在CentOS/RHEL5平臺默認Python版本爲2.4,所以需要升級Python版本,那麼除了os基本的yum源和saltstack的yum源外,還需要添加epel的yum源。
cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Extra Packages for Enterprise Linux 5 - \$basearch
baseurl=http://mirrors.yun-idc.com/epel/\$releasever/\$basearch
enabled=1
gpgcheck=1
gpgkey=http://mirrors.yun-idc.com/epel/RPM-GPG-KEY-EPEL-5
EOF
重建yum緩存 yum clean all && yum makecache
安裝minion軟件包 yum install salt-minion -y
修改配置文件/etc/salt/minion,指定master服務器,這裏可以是域名,但要能成功解析,也可以是IP地址。
和minion的唯一標識ID,這裏建議是主機名或主機應用名來區分主機。
保存並退出,啓動salt-minion服務並配置開機自啓動。
/etc/init.d/salt-minion start
chkconfig salt-minion on
在master端禁用防火牆與selinux服務
/etc/init.d/iptables stop
setenforce 0
執行命令 salt-key -a minion01 並鍵入y來接受來自minion01的密鑰。
使用 salt 'minion01' test.ping 測試minion01的連通性良好,正常納管。
CentOS/RHEL6.7 除了os基本的yum源外,saltstack的yum源添加
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-GPG-KEY.pub
EOF
更新yum的緩存 yum clean all && yum makecache
安裝minion軟件包 yum install salt-minion -y
修改配置文件/etc/salt/minion,指定master服務器與ID。
啓動服務,配置開機自啓動。
/etc/init.d/salt-minion start
chkconfig salt-minion on
在master上接受來自minion02的密鑰 salt-key -a minion02 -y
使用test.ping測試連通性 salt 'minion02' test.ping
CentOS/RHEL7.2平臺添加os基本yum源,注意如果是RHEL基本yum找不到依賴的軟件包,可能需要添加同版本的CentOS的基本yum源。
cat > /etc/yum.repos.d/CentOS-7.2-x86_64 << EOF
[base]
name=CentOS-\$releasever - Base
baseurl=http://mirrors.yun-idc.com/centos/\$releasever/os/\$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
再添加saltsack的yum源
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-GPG-KEY.pub
EOF
更新yum緩存 yum clean all && yum makecache
安裝salt-minion軟件包 yum install salt-minion -y
修改配置文件/etc/salt/minion指定master服務器與ID
啓動服務並配置開機自啓動
systemctl start salt-minion.service
systemctl enable salt-minion.service
master端接受來自minion03的密鑰,測試連通性。
salt-key -a minion03 -y
salt 'minion03' test.ping
SUSE 11 SP3的配置,除了添加os基本的zypper源外,還要添加saltstack的zypper源
zypper addrepo http://download.opensuse.org/repositories/devel:languages:python/SLE_11_SP3/devel:languages:python.repo
刷新zypper緩存 zypper refresh
安裝salt-minion軟件包 zypper install salt-minion ,如果遇到因爲網絡原因下載不了軟件包的請多次重試。
編輯配置文件 /etc/salt/minion 指定master與ID
啓動salt-minion服務並配置開機自啓動
/etc/init.d/salt-minion start
chkconfig salt-minion on
master端接受來自minion04的密鑰 salt-key -a minion04 -y
測試連通性 salt 'minion04' test.ping
Ubuntu14.04的配置,導入SaltStack repository的key。
wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -
添加sources.list源,編輯文件/etc/apt/sources.list添加如下
deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main
更新 sudo apt-get update
安裝salt-minion軟件包 sudo apt-get install salt-minion -y
修改配置/etc/salt/minion,指定master與ID。
啓動服務並配置開機自啓動
sudo /etc/init.d/salt-minion start
sudo ln -s /etc/init.d/salt-minion /etc/rc3.d/S98salt-minion
sudo ln -s /etc/init.d/salt-minion /etc/rc5.d/S98salt-minion
master端接受來自minion05的key,測試連通性。
Windows平臺到這裏下載最新版salt-minion軟件來安裝 https://repo.saltstack.com/windows/
這裏Windows Server 2008 R2 SP1 64bit 我們使用版本 Salt-Minion-2015.8.7-AMD64-Setup.exe
需要.netframework3.5及其以上版本的支持,在功能裏安裝。
打開軟件next下一步進行安裝
同意協議
指定master服務器與minion ID
自動安裝
安裝完成
點擊開始菜單旁邊的服務器管理器
在服務裏找到salt-minion服務
右鍵菜單啓動服務
關閉Windows系統防火牆
在master端接受來自minion06的密鑰後測試連通性。
由此可實現不同平臺主機的管理。