码迷,mamicode.com
首页 > 其他好文 > 详细

saltstack主机管理项目【day23】:主机管理项目需求分析-设计

时间:2017-07-21 12:29:05      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:saltstack   class   配置管理   配置文件   pre   命令行   tar   存储   etc   

本节内容

    一、 主机管理项目需求分析

    二 、主机管理项目架构设计

    三、主机管理项目初始构建

    四、 主机管理项目编写插件基类

    五 、主机管理项目命令分发器

一、 主机管理项目需求分析

配置管理:

    1、装上nginx,mysql
    2、nginx用我指定的配置文件
    3、mysql用户
    4、设置一个默认的数据库访问权限
    5、启动mysql and nginx

 

问题:

    1、脚本执行出错
    2、客户端环境,不相同
    3、重复脚本内容
    4、无法实现状态管理和检测


解决:

    1、标准化
    2、客户端最好有个守护进程

二 、主机管理项目架构设计

1、salt架构图

https://docs.saltstack.com/en/getstarted/system/plugins.html

技术分享plug-ins(左边):场景可插拔

subsystem-core-subsystem(中间蓝色部分):

  1. 执行命令
  2. 分发文件
  3. 安全存储数据

plug-ins(右边边):

  1. 通过命令行执行 标准的接口可以进行二次开发
  2. 可以用什么样的形式去描述机器能认识的
  3. 任务结果可以存储的

plug-ins(下面)

  1. 包-变成命令


2、远程执行流程:

流程图(官方图)

技术分享

流程说明

  1. 输入一个命令
  2. 进行用户认证
  3. 把任务放在控制总线,然后分发给客户端队列
  4. 客户端判断是配置管理还是远程执行
    1. 下载配置文件
    2. 配置文件里的数据提取
    3. 安全数据(用户名。密码)单独存储
    4. 状态文件解析编译
  5. 按照标准的格式返回到时间总线上
  6. 客户端把执行的结果返回到服务器端把结果展现出来并长期保存
  7. 把结果展现出来并长期保存
  8. 当结果返回后出触发任务

3、任务解析实例

apache:
#yum 安装
pkg.installed: []         
service.running:        #apache必须运行
  - reload: True        
  - watch:
    - file: /etc/httpd/conf/httpd.conf     #如果配置文件有变更就重启
  user.present:
    - uid: 87
    #- username: alex
    - gid: 87
    - home: /var/www/html
    - shell: /bin/nologin
    - require:
      - group: apache
  group.present:        #apache组不存在上面的命令不执行
    - gid: 87
    - require:
      - pkg: apache

/etc/httpd/conf/httpd.conf:     #每执行一次配置文件就更新一次
  file.managed:
    - source: salt://apache/httpd.conf
    - user: root
    - group: root
    - mode: 644

三、主机管理项目初始构建

  

四、 主机管理项目编写插件基类

五 、主机管理项目命令分发器

 

saltstack主机管理项目【day23】:主机管理项目需求分析-设计

标签:saltstack   class   配置管理   配置文件   pre   命令行   tar   存储   etc   

原文地址:http://www.cnblogs.com/luoahong/p/7216924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!