系统运输
Saltstack介绍
?
Saltstack官方文档: dock.saltstack.com
Saltstack项目: github.com/saltstack
Saltstack中文网: wiki.saltstack.cn
?
Salt是基本的平台管理工具。 它只需几分钟即可运行,具有可扩展性以支持数万台服务器的管理,并可在几秒钟内完成数据传输。
Salt能做什么:
1 .配置管理
2 .远程命令
3 .包管理
?
安装APP应用程序
应用步骤:
此环境假定为离线环境,必须使用离线软件包安装此服务
参考文档
3359 blog.csdn.net/u 014703013/article/details/81288969
1 . 首先使用wget下载站点安装包,为以后脱机安装做准备。
这是一个例子。 根据你的版本是什么,具体选择哪个版本。
wget -r -c -np? -P c:\\\\satl? 3359 repo.salt stack.com/yum/red hat/6.0/x86 _ 64/2016.11 /
?
说明:
? -r表示递归下载
? -np不下载邻居连接
? -c断点后续
? -没有吗? 递归下载时,不创建分层结构的目录,而是将所有文件下载到当前目录。 这样,不要将该目录的下一层目录集中下载。 )
? p意味着下载那个目录
?
2 . 将下载的文件导入到服务器中,并创建本地安装源
?
4 . 编辑repo文件(为了方便起见,我们将本地路径直接添加到media repo ) )。
5 .在这里直接安装salt
服务器端:
yum install salt
? yum install salt-master -y
? /etc/init.d/salt-master? 开始
chkconfig salt-master on
? 客户端:
yum installys alt-minion
vi /etc/salt/minion? 编辑配置文件
主机: 192.168.24.32主机端地址
cachedir: /etc/salt/modules? 模块目录
log file:/var/log/salt/minion.log? 日志路径
日志级别:警告日志级别
?
大师: 192.168.24.4
cachedir: /etc/salt/modules
log file:/var/log/salt/minion.log
日志级别: warning
?
/etc/init.d/salt-minion start
? chkconfig salt-minion on
?
同时安装了服务和客户端后,允许这些客户端
钥匙列表
salt-key -A
?
?
连接性测试
[root@localhost~]#salt\\\&; quot; *\\&; quot; test.ping
lnmp02 :
? True
NFS-服务器:
? True
lnmp01 :
? True
一些简单的即时管理无法在服务器端向客户端执行命令,并执行即时命令,如top。
?
?
配置? 组管理
编辑/etc/salt/master文件以对成员进行分类。 根据系统版本、业务等可以划分不同的服务器。
vi /etc/salt/master
nodegroups :
? group1: \\\&; #039; L@lnmp01,lnmp02\\\&; quot;
? group2:\\&; quot; e@lnmp0[0-9]\\&; quot;
上面的有两种写法,“group1”可以自定义
?
请运行命令进行查看
?
定义环境,并定义该环境中的模板存储在哪个路径中
环境设定:
?
环境实例测试:将模板配置为使用salt服务端作为跃点,无需密码即可登录客户端
编辑/etc/salt/master
环境设定:
file_roots :
? 贝斯
? -/srv/salt
创建目录并创建mi.py脚本
[root@lnmp01 _modules]# ls
mi.py
[root@lnmp01 _modules]# pwd
/srv/salt/_modules
?
创建ssh公钥和私钥
?
ssh无密码登录原理:
[root@lnmp01 ~]# ssh-keygen这样的操作只需回车即可
公钥文件:
[ root @ lnmp 01~~ ] # cat~~/. ssh/id _ RSA
id_rsa? id_rsa.pub
?
的字符串将写入mi.py
?
#! /usr/bin/env python
?
# Import Python Lib
import os
?
def sshkey ( ) :
? \\\&; quot; \&; quot; \&; quot; \&; quot; \&; quot; \&; quot;
? appendsaltmanagemachinepublicssh-key
?
? CLI Example :
?
? salt\\\&; quot; *\&; quot; ssh.sshkey
? \\\&; quot; \&; quot; \&; quot; \&; quot; \&; quot; \&; quot;
? local_hostname=\\\&; #039; backup\\\&; quot;
? manage_pubkey=\\\\&; quot; ssh-RSA /………=root @ backup\\ & amp; quot; n\\\&; quot; 省略
? ifnotOS.path.isfile((\) )/root/.ssh/authorized_keys ( ( ) ) ) ) :
ifnotOS.path.isdir((\)/root/.ssh/\\&; quot; ) ) :
OS.mkdir(\)/root/.ssh/(\) ) ) ) ) ) ) ) ) ) OS.mkdir(\) ) ) ) ) ) ) ) ) ) ) 652
file=open ( () )/root/.ssh/authorized_keys ) )、( ( ) ) ( w ) ) )
file.write(manage_pubkey ) )。
file.flush (
file.close (
OS.chmod3\ 33/root/. ssh/authorized _ keys 333,0600 )
返回真
? else :
? file=open ( ( ( ) )/root/.ssh/authorized_key ) )、(\\ ( r )\) )
? if local_hostname not in file.read (
? f=open () ) )/root/.ssh/authorized_key ) )、( ( ) ) ( a ) ) ) )
? f.write(manage_pubkey ) )。
? f.flush ( ) )
? f.close ( ) )
? 返回真
?
将模块推向客户端
salt\\\&; quot; *\&; quot; saltutil.sync_all (此命令意味着将所有模块推送到客户端() )
的双曲正弦值
salt\\\&; quot; *\&; quot; mi.sshkey
?
显示公钥
?
ssh lnmp01测试是否可以在没有密码的情况下登录
?
一键部署环境
基本原理
1 .定义1.top.sls环境、符合条件的主机和要配置的模块(服务)
2 .每个服务目录下都有一个init.sls,它定义了模块将执行的操作,包括推送配置文件、判断操作和执行命令
3 .这些准备完成后,运行salt命令,推送至指定客户端下,实现一键组发送配置。
创建目录、文件
在/srv/salt目录中创建yum、sysctl和httpd目录,然后创建top.sls文件
?
编辑top.sls文件
内容如下
base :
? \\\&; #039; lnmp0[1-2],nfs-server\\\&; quot;
? yum
? sysctl
? httpd
? httpd.old boy
首先编辑yum模块
在yum目录中创建init.sls文件
将服务器端/SRV/salt/yum/file/centos-base.repo推送到客户端/etc/yum.repos.d/centos-base.repo位置。
/etc/yum.repos.d/2408c7.repo :
? file.managed :
? source:salt://yum/file/2408 C7.repo
? 模式: 644
? owner :根
? 组:根
? cmd.wait :将文件推送到客户端将与文件MD5中的值相匹配。 如果不匹配,请执行以下命令: (清理缓存并重建缓存) )。
? name:yum.clean all; yum makecache
? only if:test-f/etc/yum.repos.d/2408 C7.repo? -测试文件是否存在
? watch : 确定此文件是否已更改
? file:/etc/yum.repos.d/2408 C7.repo
————————————————————————————————
/etc/yum.repos.d/2408c6.repo :
? file.managed :
? source:salt://yum/file/2408 C6.repo
? 模式: 644
? owner :根
? 组:根
? cmd.wait :
? name:yum.clean all; yum makecache
? only if:test-f/etc/yum.repos.d/2408 C6.repo
? watch :
? file:/etc/yum.repos.d/2408 C6.repo
?
服务器端/srv/salt/yum/file目录中应该有2408c6.repo文件
?
saltn‘all’state.SLS yum同步指定的模块
saltn‘all’state.high state同步所有模块
?
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn