Saltstack介绍及简单配置-创新互联

Saltstack介绍

 

成都创新互联专注于网站建设,为客户提供网站设计制作、成都网站建设、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

Saltstack官方文档: dock.saltstack.com

Saltstack项目:github.com/saltstack

Saltstack中文网:wiki.saltstack.cn

 

Salt是基础平台管理工具。只需花费数分钟即可运行,扩展性足以支撑管理上万台服务器,数秒钟即可完成数据传递。

Saltstack介绍及简单配置

        Salt可以做什么:

1.      配置管理

2.      远程命令

3.      包管理

应用安装

应用步骤:

本环境假设为离线环境,需要使用离线包安装此服务

参考文档

https://blog.csdn.net/u014703013/article/details/81288969

1. 先使用wget下载网站的安装包,为了后面离线安装作准备。

以下这个是例子,根据你的发行版是啥而具体选择啥版本:

wget -r -c -np  -P c:\satl https://repo.saltstack.com/yum/redhat/6.0/x86_64/2016.11/

 

说明:

    -r  表示递归下载

    -np不下载旁站连接

    -c  断点续传

    -nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录(不可取,这样不会把该目录下一级目录一并下载出来。)

    -P表示下载那个目录

 

      2. 把下载到的文件导进服务器,做一个本地安装源

Saltstack介绍及简单配置

 

4. 编辑repo文件(这边为了方便直接在mediarepo上增加本地路径)

Saltstack介绍及简单配置

5.      这边直接安装salt

服务端:

yum install salt

       yum install salt-master -y

       /etc/init.d/salt-master start

                chkconfig salt-master on

         客户端:

                  yum install –y salt-minion

vi /etc/salt/minion   -----编辑配置文件

                          master: 192.168.24.32  ----- master端地址

cachedir: /etc/salt/modules   -----模块目录

log file: /var/log/salt/minion.log     -----日志路径

log level: warning                      -----日志级别

 

master: 192.168.24.4

cachedir: /etc/salt/modules

log file: /var/log/salt/minion.log

log level: warning

 

                  /etc/init.d/salt-minion start

               chkconfig salt-minion on

 

服务和客户端都安装完后允许这些客户端

salt-key list

salt-key -A

Saltstack介绍及简单配置

 

 

        测试连通性

[root@localhost ~]# salt '*' test.ping

lnmp02:

                        True

nfs-server:

                      True

lnmp01:

                       True

        

一些简单的即时管理,在服务端对客户机执行命令,无法执行一些例如top的即时命令。

 

 

配置

     分组管理

                  编辑/etc/salt/master文件将成员按划分。可以根据系统版本、业务等划分不同的服务器。

                  vi /etc/salt/master

                  nodegroups:

               group1: 'L@lnmp01,lnmp02' 

               group2: 'E@lnmp0[0-9]'

上面的是两种写法,“group1”可以自定义

 

执行命令查看一下

Saltstack介绍及简单配置

 

                  定义环境,定义该环境的模板存放在哪个路径下

环境配置:

Saltstack介绍及简单配置

 

环境实例测试:

配置模板实现使用salt服务端作为跳机无密码登录客户端
Saltstack介绍及简单配置

编辑/etc/salt/master

环境配置:

        file_roots:

         base

         -/srv/salt

Saltstack介绍及简单配置

创建目录,创建mi.py脚本

[root@lnmp01 _modules]# ls

mi.py

[root@lnmp01 _modules]# pwd

/srv/salt/_modules

 

Saltstack介绍及简单配置

创建ssh公钥与私钥

 

        ssh免密码登录原理:

                  

[root@lnmp01 ~]# ssh-keygen  这个操作一路回车就可以

公钥文件在:

[root@lnmp01 ~]# cat ~/.ssh/id_rsa

id_rsa     id_rsa.pub

Saltstack介绍及简单配置

 

得出的字符串写入到mi.py

 

#!/usr/bin/env python

 

# Import Python Lib

import os

 

def sshkey():

   '''

   append salt manage machine public ssh-key

 

   CLI Example:

 

       salt '*' ssh.sshkey

   '''

   local_hostname = 'backup'

   manage_pubkey = ' ssh-rsa /…….省略……== root@backup\n'

   if not os.path.isfile('/root/.ssh/authorized_keys'):

      if not os.path.isdir('/root/.ssh/'):

          os.mkdir('/root/.ssh/')

      file = open ('/root/.ssh/authorized_keys','w')

      file.write(manage_pubkey)

      file.flush()

      file.close()

      os.chmod('/root/.ssh/authorized_keys',0600)

      return True

   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()

       return True

 

把模块推到客户端处

salt '*' saltutil.sync_all(这命令的意思是把所有模块推到客户端处)

Saltstack介绍及简单配置

执行

salt '*' mi.sshkey

Saltstack介绍及简单配置

 

查看公钥

Saltstack介绍及简单配置

 

ssh lnmp01测试能否无密码登录

Saltstack介绍及简单配置

 

一键部署好环境

Saltstack介绍及简单配置

基本原理

1.top.sls定义环境、所匹配的主机、配置什么模块(服务)

2.每个服务目录下有个init.sls,这个定义着这个模块是执行什么行为(推送配置文件、判断操作、执行命令等等)

3.这些准备工作完成后,执行salt命令使之推送到指定的客户端下实现一键群发配置。

创建目录、文件

现在/srv/salt目录上创建yumsysctlhttpd目录,并且创建top.sls文件

Saltstack介绍及简单配置

 

编辑top.sls文件

内容如下

Saltstack介绍及简单配置

base:

 'lnmp0[1-2],nfs-server':

   - yum

   - sysctl

   - httpd

   - httpd.oldboy

首先编辑yum模块

Saltstack介绍及简单配置

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/2408c7.repo

   - mode: 644

   - owner: root

   - group: root

 cmd.wait:    -----将文件推到客户端的时候会比对文件MD5值,如果不一致会执行以下命令(清理缓存,重新建立缓存)

   - name: "yum.clean all;yum makecache"

   - onlyif: "test -f /etc/yum.repos.d/2408c7.repo" ----测试文件是否存在

   - watch: ---判断这个文件是不是改变

     - file: /etc/yum.repos.d/2408c7.repo

------------------------------------------------------------------------------------------------

"/etc/yum.repos.d/2408c6.repo":

 file.managed:

   - source: salt://yum/file/2408c6.repo

   - mode: 644

   - owner: root

   - group: root

 cmd.wait:

   - name: "yum.clean all;yum makecache"

   - onlyif: "test -f /etc/yum.repos.d/2408c6.repo"

   - watch:

     - file: /etc/yum.repos.d/2408c6.repo

 

在服务端/srv/salt/yum/file目录下应该有2408c6.repo文件在里面

 

salt –N ‘all’ state.sls yum同步指定的模块

salt –N ‘all’ state.highstate同步所有的模块

 

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网站栏目:Saltstack介绍及简单配置-创新互联
浏览路径:https://www.cdcxhl.com/article48/iojep.html

成都网站建设公司_创新互联,为您提供网页设计公司建站公司软件开发网站排名手机网站建设网站改版

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司