SaltStack 02-SaltStack安装配置(yum安装)

环境说明

主机名 IP地址 模式 系统
saltStack01 10.123.209.34 master Centos 7
centos6 10.123.209.41 minion Centos 6

1.安装salt-master和salt-minion

[root@saltStack01 ~]# yum install -y salt-master salt-minion
[root@centos6 ~]# yum install -y salt-minion

2.启动salt-master

[root@saltStack01 ~]# systemctl start salt-master

3、配置salt-minion

# 可以是主机名需要解析(指定服务端的IP地址),冒号有空格
[root@centos6 salt]# sed '16a master: 10.123.209.34' /etc/salt/minion -i
[root@centos6 salt]# cat /etc/salt/minion |grep -v '^#' |grep master:   
master: 10.123.209.34

# id:唯一标识符,可以不配,不配默认就是主机名
[root@centos6 salt]# sed -i "79a id: centos6 /etc/salt/minion

4、启动salt-minion

[root@saltStack01 ~]# systemctl start salt-minion 
[root@centos6 salt]# service salt-minion start

5、配置salt-master和slat-minion通信

[root@linux-node1 salt]# salt-key
Accepted Keys:       	# 同意的
Denied Keys:         	# 拒绝的
Unaccepted Keys:     	# 等待同意的
saltStack01
centos6
Rejected Keys:

同意认证的方法分为三种

salt-key -A
salt-key -a 指定id
salt-key -a 支持通配符

salt-key 命令参数简单介绍

  • -L --列出所有
  • -d --删除指定的支持通配符
  • -D --删除所有
  • -A --添加所有
  • -a --指定添加

salt-key 同意之后生成的文件

pki/
├── master
│   ├── master.pem
│   ├── master.pub
│   ├── minions
│   │   ├── saltStack01
│   │   └── centos6
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre
│   └── minions_rejected
└── minion
    ├── minion_master.pub  # 同意之后master发送公钥
    ├── minion.pem
    └── minion.pub

6、修改id配置

  • minion配置中有一个id配置,默认是hostname
  • 如果id配置和hostname不一致会导致无法进行通信

关闭salt-minion

  • 此处必须先停掉minion修改,并删除相应的文件,否则会默认地去查找原先的配置
CentOS7:systemctl stop salt-minion
CentOS6:service salt-minion stop

在master上删除minion的id

salt-key -d id

minion上删除pki目录

rm -rf /etc/salt/pki

minion上删除minion_id文件

rm -rf /etc/salt/minion_id

修改完成,启动minion

CentOS7:systemctl start salt-minion
CentOS6:service salt-minion start

salt-minion修改id脚本

#!/bin/bash
# liangjingfu

# 判断是否传参
if [[ $# == 0 ]]; then
	echo "please input id content!"
	exit 1
else
	id=$1
fi

# 判断系统版本,目前只是判断系统是否为centos6、centos7
issix=`cat /etc/redhat-release | grep 6.`
isseven=`cat /etc/redhat-release | grep 7.`

if [[ -n ${issix} ]]; then
	sysType=6
elif [[ -n ${isseven} ]]; then
	sysType=7
fi

# 根据系统版本关闭salt-minion
stop_salt_minion(){
	if [[ ${sysType} == 6 ]]; then
		service salt-minion stop
	elif [[ ${sysType} == 7 ]]; then
		systemctl stop salt-minion
	fi
}

# 删除相应文件
rm_file(){
	if [[ -d "/etc/salt/pki"  ]]; then
		rm -rf /etc/salt/pki
	fi

	if [[ -f "/etc/salt/minion_id" ]]; then
		rm -rf /etc/salt/minion_id
	fi
}

# 修改salt-minion配置文件id
mv_id(){
	isid=`cat /etc/salt/minion |grep -v '^#' |grep 'id:'`
	if [[ -z $isid ]]; then
		sed -i "79a id: ${id}" /etc/salt/minion
	elif [[ -n $isid ]]; then
		sed -i "s#${isid}#id: ${id}#g" /etc/salt/minion
	fi
}

# 根据系统版本开启salt-minion
start_salt_minion(){
	if [[ ${sysType} == 6 ]]; then
		service salt-minion start
	elif [[ ${sysType} == 7 ]]; then
		systemctl start salt-minion
	fi
}

# 运行方法
stop_salt_minion
rm_file
mv_id
start_salt_minion
运行方式:
sh saltminionid.sh 10.123.209.41-centos6.liang.com
posted @ 2018-08-17 11:34  瞎搞的富哥  阅读(509)  评论(0编辑  收藏  举报