Saltstack生产案例之系统初始化
把之前的配置打个包
zip -r salt.zip *
拷贝到/root/tools目录
博客园文件里面也保留一份,删除之前所有的salt配置文件重新开始
想
1,系统初始化
2,功能模块:设置单独的目录haproxy nginx php mysql memcached
3,业务模块:根据业务类型,例如web 服务 论坛 bbs
include
做
1,salt环境配置
开发,测试(功能测试环境,性能测试环境) 预生产 生成
base 基础环境
init目录,环境初始化 1.dns配置 2history记录时间 3记录命令操作 4内核参数优化 5安装yum仓库 6安装Zabbix-agent
2,prod生成环境
vim /etc/salt/master
mkdir -p /srv/salt/base
mkdir -p /srv/salt/prod
mkdir -p /srv/pillar/base
mkdir -p /srv/pillar/prod
重启
systemctl restart salt-master
cd /srv/salt/base/
mkdir init
cd init
vim dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://init/files/resolv.conf
- user: root
- gourp: root
- mode: 644
新建文件命令,拷贝配置文件
mkdir files
cp /etc/resolv.conf files/
vim history.sls
/etc/profile:
file.append:
- text:
- export HISTTIMEFORMAT="%F %T `whoami` "
PS:在/etc/profile 末尾追加一行显示执行时间以及执行者
vim audit.sls
/etc/bashrc:
file.append:
- text:
- export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
PS:记录命令的操作即命令审计
vim sysctl.sls
net.ipv4.ip_local_port_range:
sysctl.present:
- value: 10000 65000
fs.file-max:
sysctl.present:
- value: 2000000
net.ipv4.ip_forward:
sysctl.present:
- value: 1
vm.swappiness:
sysctl.present:
- value: 0
PS:内核参数优化
net.ipv4.ip_local_port_range: 本地可用端口范围 作为客户端发起连接的时候
net.ipv4.ip_forward: 开启转发
sysctl.present:交换分区使用权重为0是尽量不使用
vim epel.sls
yum_repo_release:
pkg.installed:
- sources:
- epel-release: http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
vim zabbix-agent.sls
zabbix-agent:
pkg.installed:
- name: zabbix-agent
file.managed:
- name: /etc/zabbix/zabbix_agentd.conf
- source: salt://init/files/zabbix_agentd.conf
- template: jinja
- defaults:
Server: {{ pillar['zabbix-agent']['Zabbix_Server'] }}
- require:
- pkg: zabbix-agent
service.running:
- enable: True
- watch:
- pkg: zabbix-agent
- file: zabbix-agent
zabbix_agentd.conf.d:
file.directory:
- name: /etc/zabbix/zabbix_agentd.conf.d
- watch_in:
- service: zabbix-agent
- require:
- pkg: zabbix-agent
- file: zabbix-agent
拷贝配置文件
cp /etc/zabbix/zabbix_agentd.conf files/
vim files/zabbix_agentd.conf
PS:这里{}内变量名称Server要和/srv/salt/base/init/zabbix-agent.sls 一样为Server
直接执行出错
因为没有配置pillar
cd /srv/pillar/base/
mkdir zabbix
cd zabbix/
vim agent.sls
zabbix-agent:
Zabbix_Server: 10.8.45.27
这样设置还不行,需要master指定给
vim /srv/pillar/base/top.sls
base:
'*':
- zabbix.agent
salt '*' state.sls init.zabbix-agent
执行状态成功了
到此初始化写完了
cd /srv/salt/base/init
vim init.sls
include:
- init.dns
- init.history
- init.audit
- init.sysctl
- init.epel
- init.zabbix-agent
执行salt '10-8-86-172' state.sls init.init
成功了
这个是执行单个配置文件 高级状态是定义top.sls
cd /srv/salt/base
vim top.sls
base:
'*':
- init.init
先tree一下
使用salt '*' state.highstate 执行top.sls 因为这里定的是 * init.init 其实效果和上面的是一样的
PS:使用backup: minion可以在配置文件有更新的时候把原始配置文件备份
‘
一旦配置文件有更新会把原始配置文件备份一遍
参考文档
https://github.com/unixhot/saltbook-code/blob/master/salt/
Saltstack生产案例之系统初始化的更多相关文章
- SaltStack生产案例-服务部署(redis,mysql,apache+php,haproxy+keepalived)
顺序代码资料链接 课上资料.zip 接上篇:SaltStack生产案例-系统初始化 1,redis 主从 2,mysql 主从 2.1 mysql-install.sls (安装 初始化) 2.2 ...
- SaltStack生产案例-系统初始化
需求分析 一,系统初始化 1.1 关闭SELinux 1.2 关闭默认iptables 1.3 时间同步(配置NTP) 1.4 文件描述符(必备/etc/security/limmits.c ...
- Saltstack生产案例之Haproxy安装
cd /srv/salt/prod/ mkdir haproxymkdir keepalivedmkdir nginxmkdir phpmkdir memcachedmkdir pkg cd pkg ...
- saltstack系统初始化(九)
一.系统初始化需要的配置 当我们的服务器上架并安装好操作系统后,都会有一些基础的操作,所以生产环境中使用SaltStack,建议将所有服务器都会涉及的基础配置或者软件部署归类放在base环境下.此处, ...
- saltstack之(七)配置管理系统初始化init
saltstack的配置管理分环境管理:①.base为基础环境,一般会存放一些所有服务器都使用的配置管理信息.②.dev为开发测试环境,一般会存放一些开发测试服务器使用的配置管理信息.③.pro为线上 ...
- Linux安装系统注意事项及系统初始化
Linux安装系统注意事项 1.分区 学习用途: /boot:200M /swap :内存的1到2倍 /:根据需要分配大小,比如虚拟机下总空间是15G,那么可以分配8——10G跟/分区,如果是生产 ...
- centos系统初始化流程及实现系统裁剪
Linux系统的初始化流程: POST:ROM+RAM BIOS: Boot Sequence MBR: 446:bootloader 64: 分区表 2: 5A kernel文件:基本磁盘分区 /s ...
- Shell编程—企业生产案例
Linux系统Shell编程—企业生产案例(一) 企业数据库可以说是重点保护对象啊,没有之一,数据在当今企业里就是生命线,因此今天就来说一说,如何通过shell脚本来检查或监控MYSQL数据库服务是否 ...
- 06 saltstack生产实例-需求
https://github.com/unixhot/saltbook-code .Cobbler 1.15 统一网卡名 .Zabbix 系统已经安装好了! base .手动实现 .需要使用salt的 ...
随机推荐
- MTK 系统禁止通知状态栏下拉
之前看了网上很多修改,感觉太繁琐,修改代码太多,最后感觉还是自己找找,看能不能简单点 diff --git a/android/frameworks/base/packages/SystemUI/sr ...
- C# 多线程 Parallel.ForEach 和 ForEach 效率问题研究及理解
from:https://blog.csdn.net/li315171406/article/details/78450534 最近要做一个大数据dataTable循环操作,开始发现 运用foreac ...
- 时间戳Id
ID:格式据1970.1.1毫秒数 1535091029740 13位 问题:高并发,分布式明显会有问题,网上有雪花算法,但是位数跟我需要的不一样,暂时不考虑,以后研究再用. 参考: https:/ ...
- Nginx配置中文域名
今天碰到一个好玩的问题,还以为是nginx的缓存,各种清理就差把nginx卸载了,后来想想不对应该是中文域名的问题,对中文进行编码,搞定,如下: ... server { listen 80; ser ...
- phonegap入门–2 Android phonegap工程建立
一.环境要求: 需要安装Android ADT 二.支持Android相关设备列表: a)Android 2.1 (Deprecated May 2013) b)Android 2.2 c)Andro ...
- 记安装ubuntu server和一些程序
1. 安装ubuntu server 按照流程走了一遍,一切画面都正常,就是重启后界面只有一个光标闪啊闪,我不知道应该再装一遍还是找老大来解决,想了下,以前电脑就是因为出错才重装的,现在这个情况有可能 ...
- graphicsmagick常用命令
显示图像文件详细信息 gm identify a.jpg 1.更改当前目录下.jpg的尺寸大小,并保存于目录.thumb里面 gm mogrify -output-directory .thumbs ...
- vux ajax请求 及 跨域
1)使用 AjaxPlugin 插件(在组件里使用) 引入插件 import { AjaxPlugin } from 'vux' 初始化 export default { components: { ...
- [ZZ]c++ cout 格式化输出浮点数、整数及格式化方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...?下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化 ...
- NFS 常见报错
问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主属组都为nobody解决方法:这种情况会出现在 centos6 或 NFS 4版本中,只要在挂载的时候加上 -o nfsve ...