SaltStack 批量管理&安装使用

本文详细介绍了在CentOs环境下安装SaltStack的过程,包括设置master和minion节点,配置服务,以及如何通过Python API进行操作。同时,探讨了Grains和Pillar在配置管理和数据存储中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CentOs 下安装,master&minion


1.添加epel源
	# yum -y install epel 

2.安装 master
	# yum -y install salt-master
	# salt-master的配置文件是/etc/salt/master
配置:
	interface: 0.0.0.0  #绑定到本地的0.0.0.0地址
	publish_port: 4505  #管理端口,命令发送
	user: root      #运行salt进程的用户
	worker_threads: 5  #salt运行线程数,线程越多处理速度越快,不要超过cpu个数
	ret_port: 4506  #执行结果返回端口
	pidfile: /var/run/salt-master.pid #pid文件位置
	log_file: /var/log/salt/master  #日志文件地址

	auto_accept: False	#自动接收minion的key

# 配置开机启动
	# chkconfig salt-master on

# 启动服务
	# service salt-master start

3.被管理端安装minion
	# yum -y install salt-minion 

# salt-minion的配置文件是/etc/salt/minion
	# 指定master(salt服务端,主机名或者IP)
	master: master 
	master_port: 4506
	user: root
	id: slave
	acceptance_wait_time: 10
	log_file: /var/log/salt/minion


# 配置开机启动
	# chkconfig salt-monion

# 启动salt minion
	# service salt-minion start

############## 实战1 salt minion 主机名修改 ############
	1. salt master 将要修改主机名的机器 -d 掉
	2. slat minion 删除key 修改主机名 重启服务
	3. slat master 重新认证

############## 实战2 salt master 迁移 #################
	1. 打包salt pki路径
	2. 新salt master 服务器解包 pki 启动
	3. 旧salt master 更新 salt minion 配置(服务端地址)



# 插件
	Grains   --  静态采集
	Grains 是saltstack组件中非常重要之一,在配置部署时候回经常使用,Grains记录minion的静态信息,比如常用属性,CPU、内存、磁盘、网络信息等。
	Minions的Grains信息是Minion启动时采集汇报给Master的
	Grains是以 key  value形式存储的数据库,可以看做Host的元数据(metadata)
	Grains保存着收集到的客户端的详细信息

# 如果slave机器数据变化,grains就过期了
# 在生产环境中需要自定义Grains,可以通过
	Minion配置文件
	Grains相关模块定义
	Python脚本定义

# Pillar   -- 加密数据
	在SaltStack中主要的作用是存储和定义配置管理中需要的一些数据,比如软件版本号,用户账号密码等,保证敏感数据不被其他minion看到

# Grains 与 Pillar 对比
	类型     数据采集方式   应用场景                   定义位置
	Grains   静态         minion启动时收集  数据查询  目标选择  配置管理   minion
	Pillar   动态         master进行自定义  目标选择  配置管理  敏感数据   master

# Python API 调用SaltStack
# 介绍:
	/usr/bin/salt默认使用的接口是LocalClient,该接口只能在salt master上使用
	[root@master  ~]$python
	Python 2.7.5 (default, Jul 13 2018, 13:06:57)
	[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
	Type "help", "copyright", "credits" or "license" for more information.
	>>> import salt.client
	>>> local = salt.client.LocalClient()  #<salt.client.LocalClient object at 0x7f886dbdd850>
	>>> local.cmd('*','cmd.run',['hostname'])#向所有minion发送命令
	{'slave': 'slave'}
	逐条返回结果,local.cmd_iter()

	>>> ret=local.cmd_iter('*','test.ping')
	>>> ret
	<generator object cmd_iter at 0x7f886d455c80>
	>>> for i in ret:
	...     print i
	...
	{'slave': {'retcode': 0, 'ret': True}}
	菲波那切数列

	>>> local.cmd('*','test.fib',[10])
	{'slave': [[0, 1, 1, 2, 3, 5, 8], 2.1457672119140625e-06]}
	检查minion服务器信息

	>>> local.cmd('*','cmd.run',['hostname'])
	{'slave': 'slave'}
	>>> local.cmd('*','cmd.run',['ifconfig'])
	>>> local.cmd('*','cmd.run',['crontab -l'])
	>>> local.cmd('*','cmd.run',['df -h'])
	启停minion的服务,如nginx

	>>> local.cmd('*','service.stop',['nginx'])
	{'slave': True}
	>>> local.cmd('*','service.status',['nginx'])
	{'slave': False}
	>>> local.cmd('*','service.start',['nginx'])
	{'slave': True}

# SaltStack proxy
# Syndic







 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值