系统: Linux 。
进程管理: supervisor
自动化: saltstack
脚本目的: 根据脚本完成最基本的软件初始化和系统参数的设置。使其具备saltstack的管理和supervisor运行
0、初始化saltstack脚本
sudo yum update -y
mkdir -p /data/soft
chmod 777 /data
cd /data/soft
wget https://pypi.python.org/packages/38/a6/7b46edaad848fee40a0201be23f2fd1ce498f6269eda8fea66c86c1776d0/salt-2017.7.4.tar.gz#md5=bbedc542e9d3d5ab8df2fc5b774c9a3a
mkdir -p /etc/salt/{minion.d,pki}
tar -zxvf salt-2017.7.4.tar.gz
cd /data/soft/salt-2017.7.4
python setup.py install
cp conf/minion /etc/salt/minion
echo `hostname` > /etc/salt/minion_id
# salt 替代master端地址
echo "master: salt" >> /etc/salt/minion
yum install python-pip -y
yum install python-devel -y
yum install autoconf -y
yum -y install gcc
cd /data/soft/salt-2017.7.4/requirements
pip install -r base.txt
pip install -r raet.txt
pip install -r zeromq.txt
// 检查salt依赖的libsodium库。
if [[ ! -f /usr/lib64/libsodium.so ]]; then
cd /data/soft &&
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz
tar -zxvf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure --prefix=/usr --libdir=/usr/lib64 && make && make install
fi
// 启动master
salt-master
// 启动minion
salt-minion
1、优化部分系统参数。涉及到supervisor管理的相关服务
# systcl
# 禁用IPV6功能。避免mongodb等因为IPV6参数报错
sysctl -p | grep net.ipv6.conf.all.disable_ipv6
if [ $? != 0 ]
then
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
fi
# 启用文件描述符。supervisor管理的服务需要使用。如ES
echo DefaultLimitNOFILE=1000000 >> /etc/systemd/system.conf
echo DefaultLimitNPROC=1000000 >> /etc/systemd/system.conf