zoukankan      html  css  js  c++  java
  • [SaltStack] Multi-Master配置

    Multi Master配置

    从salt 0.16.0版本开始, 管理minions可以使用multi-master特性. 当使用multi-master时, 所有masters均可以正常运行, 任何一个active-master都可以向minions发送命令.

    在0.16.0版本, masters之间并不会共享信息, public keys需要在每台master上accept, 文件共享需要手动完成, 或者使用类似git工具确保file_roots目录文件一致.


    • 建立Multi-Master的大概步骤:

      • 安装新的master server
      • copy masterkeys到新的master对应目录
      • 启动新的master进程
      • 配置minions配置文件
      • Restart minions
      • 在新的master上accept keys

    Master Keys

    配置Multi-Master主要的问题是: 每一个master使用相同的private key. Private key在master第一次启动时自动生成的(注意: 配置Multi-Master时, 一定要在启动新master前将老master的private key copy到对应目录).

    Master的private key在pki_dir目录下, 默认的位置是: /etc/salt/pki/master/master.pem, 将该key copy到新的master对应的目录下.

    谨记, 一定是在启动新master之前copy!


    Configure Minions

    修改minion config文件, 这样每一个minion将会认证到所有master上.

    Config文件默认在:/etc/salt/minion

    e.g.

    修改minion config file

    master:
      - saltmaster1.example.com
      - saltmaster2.example.com
    

    最后, restart minion..

    此时, 所有master都alive, 并且可以控制minon.

    配置过程

    • 安装master

      Rpm装,就不说了(注意:先不要启动salt-master)

    • copyprivate keys(可以使用nc copy文件)

    • 启动新的salt-master

      /etc/init.d/salt-master start

    • 配置minion端config files

    • 重启salt-minion

      /etc/init.d/salt-minion restart

    有一个问题: master之间无法容灾.

    如果主salt-master当机, salt-call将会失败, 无法完成同步, 但是其他冗余salt-master还是可以向下highstate.

    所以需要使用DNS解析, 如果主master宕机, 立即切换DNS到其他的master.

    测试

    1. stop old salt-master
    2. 在minion上salt-call
    3. 在new salt-master上highstate

    看以看出在new salt-master上highstate是没有问题的.


    Sharing Files Between Masters

    Salt并不会在每个master之间同步文件共享, 下面介绍一下一些key files在master之间的同步和保持一致.

    Minion Keys

    Minion keys会被每一个master接受. 可以通过salt-key工具手动完成, 或者同步一些关键目录. 必要的同步目录是:

    /etc/salt/pki/master/minions
    /etc/salt/pki/master/minions_pre
    /etc/salt/pki/master/minions_rejected
    

    file_roots

    file_roots: 目录也应该被在master之间同步. 这是用于管理配置的salt state file目录, 推荐的同步方法是使用gitfs, 或者将file_roots目录放在共享存储上.

    pillar_roots

    同file_roots一样也需要被同步.

    Master Configuration

    确保master相关的配置也是相互同步的.

    external_auth

    client_acl

    peer

    peer_run

    Conclusion

    总的来说配置Multi-master还是比较简单的, 可以提供多master来管理minions, 确保keys和state files在master之间保持同步.

    From reno

    2015-06-17 21:23:00

  • 相关阅读:
    CSS3 选择器——伪类选择器详细讲解
    关于endnote与word或wps关联的问题
    高通量测序中,reads、contigs、scaffold之间的联系
    转录组中 实验设计 的相关问题
    RNA-Seq分析软件HTSeq的安装
    bash下特殊字符的含义
    常见的测序名词解释
    RNA-seq数据分析注意事项
    RNASeq中常见的分析流程
    WGS/WES/RNAseq/CHIP-seq之间的差别
  • 原文地址:https://www.cnblogs.com/renolei/p/4584406.html
Copyright © 2011-2022 走看看