自动化运维平台网站搭建与设计实现
作者:麦兜 更新时间:2023-06-08 08:48:01 阅读 407
更多计算分享:
https://www.jackcheng.pro
saltstack基本概述:
简述:saltstack是一个异构平台基础设施管理工具具有远程执行、配置管理、云管理功只需要花费数分钟时间就可以运行起来支撑管理上万台的服务器速度快,服务器之间的秒级通讯,在数秒钟就可以完成数据的传递运行方式:local本地运行Master/Minion传统方式运行Syndic分布式salt SSH学习资源:saltstack官方网站: https://www.saltstack.comsaltstack官方文档: https://docs.saltstack.cnsaltstack GitHub
saltstack的安装:
准备工作:
需要三个节点:
salt-master 192.168.200.111
salt-minion-01 192.168.200.112
salt-minion-02 192.168.200.113
分别配置网络映射
更新三个节点的yum源: 改为国内源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum makecache
yum -y update
关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
关闭安全模组:
vi /etc/selinux/config
设置SELINUX=disable
重启服务器
安装:
配置salt的yum仓库:
rpm --import https://repo.saltproject.io/py3/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub
curl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
yum clean expire-cache
在salt-master节点: yum -y install salt-master
在salt-minion节点: yum -y install salt-minionSaltStack集群:
salt-master:
systemctl start salt-master
systemctl enable salt-master
salt-minion:
打开配置文件将minion指向master: /etc/salt/minion
sed -i s#^\#master: .*#master: salt-master#g /etc/salt/minion
systemctl start salt-minion
systemctl enable salt-minion
salt认证(salt-master):
待认证的主机: salt-key
认证指定主机:
salt-key -a salt-minion-01 -y
salt-key -a salt-minion-02 -y
检测架构是否正常(salt-master):
salt '*' test.ping
看到结果为True即正常salt远程执行:
介绍: 远程执行是saltstack的核心功能之一,主要使用salt模块给批量选定的Minion端执行相应的命令,并返回结果
举例: salt ‘*‘ disk.usage
判断salt的minion主机是否存活:
salt '*' test.ping
格式:
salt 是一个命令
*代表目标主机,这里所有的minion主机
test.ping 是salt远程执行模块下下面的一个方法
test是模块名,ping是test模块中的一个方法
使用cmd模块run方法远程执行shell命令:
salt '*' cmd.run 'ping -c1 www.baidu.com &>/dev/null && echo True || echo False'
命令含义:
给所有的Minon节点发起ping命令,检测所有节点的外网是否连通
要给指定的minion主机发送命令:
salt 'salt-minion-01' cmd.run 'ping -c1 www.baidu.com &>/dev/null && echo True || echo False'
命令含义: 检测salt-minion-01主机的网络是否连通salt配置管理
介绍: salt通过状态模块来识别操作行为,格式是YAML,扩展名是sls
YAML的基本语法:
缩进2个空格,不能使用tab
格式: key: value
如果是列表使用短横线:
- list1
- list2
缩进: YAML使用固定的缩进风格表示数据的层级关系,每个缩进由两个空格组成
冒号: 冒号后面必须要有空格,冒号结尾除外
短横线:
表示列表项,一个短横线表示一个列表项,短横线和列表项之间需要有一个空格
多个项使用同样的缩进级别作为同一列表
举例(salt-master节点):
目标: 编写Nginx模块
第一步: 配置base环境
vi /etc/salt/master
找到file_roots:
修改对应的base路径为/srv/salt
mkdir -p /srv/salt
systemctl restart salt-master
第二步: 在salt目录下创建nginx.sls
#作用: 安装并启动nginx
nginx-install: #第一个线程安装nginx
pkg.installed:
- name: nginx
nginx-start: #第二个线程启动nginx
service.running:
- name: ngin
第三步: 在目标主机远程执行该模块
salt 'salt-minion-02' state.sls nginx
获取执行结果
声明:本文由"麦兜"发布,不代表"破站"立场,转载联系作者并注明出处:https://www.848586.cn/121270.html
