SaltStack使用

一. SaltStack基本使用方法

二. SaltStack的命令行工具 

      1. minions在线状态

         查看所有minion状态:salt-run manage.status

        查看所有minion在线状态:salt-run manage.up

        查看所有minion不在线状态:salt-run manage.down 

    

      2. key管理
          salt-key 密钥管理,通常在master端执行
          salt-key [options]
          salt-key -L ##查看所有minion-key
          salt-key -a <key-name> ##接受某个minion-key
          salt-key -d <key-name> ##删除某个minion-key
          salt-key -A ##接受所有的minion-key
          salt-key -D ##删除所有的minion-key

三. SaltStack的远程执行命令

四. SaltStack的模块

      Grains

      Grains 是minion启动的时候采集的系统静态,包括CPU,操作系统,文件系统,硬盘等等

      显示所有Grains信息分类:salt '*' grains.ls

 

      显示所有静态信息:salt '*' grains.items

      

      Grains应用场景

     1. 获取系统信息

      2. 用于分类查找minion

      3. 与其他模块结合完成更灵活的minion控制

       示例:

       a.查看模块的用法:

          salt  'CentOS7' sys.list_functions grains

       b.查看item项

           salt 'CentOS7‘ grains.ls

        c. 查看某个item值

            salt 'CentOS7' grains.get os

        

      自定义Grains

      1. /etc/salt/grains

      2. /etc/salt/minion

      3. _grains目录自定义grai,同步到minions

      Pillar

      Pillar跟grains类似,可将minion数据通过key/value的格式进行存储。

      Pillar使用独立的加密session,可以传递很敏感的数据,例如:ssh-key,加密证书等。

      Targeting Minions

       1. 为salt指定minion的方法

        2. salt web1 apache.signal restart

       Targeting with Granis

       1. salt -G ‘os: CentOS’ test.ping

        2.获取Grains数据的方法:salt '*' grains.items

        Compound Targeting

        salt -C ‘G@os:Debian and webser* or E@db.*’ test.ping

            a. G@指定了grains

            b. webser指定了ID以webser开头的minion

            c. E@是以正则的方式指定minion的ID

         Node Group Targeting

          在salt-master的配置文件中增加nodegroups配置项

          Salt Runner

          salt runner 是在master上运行命令的方法,区别于salt execution model

          salt runner模块包括:

                 cache:返回minion缓存数据

                 ddns:动态DNS

                  fileserver:salt fileserver插件管理

                  等等

            自定义Salt Runner

            a. 添加一个目录到salt-master配置文件run_dirs配置项

            b. 创建该目录

            c. 添加Python文件到该目录

            示例:

            Remote Execution

            Target:

            1. salt ‘*.example.org’ test.ping

             2. salt -G ‘os:Ubuntun’ test.ping

             3. salt -E 'virtmach[0-9]' test.ping

posted @ 2020-03-23 23:21  出水芙蓉·薇薇  阅读(303)  评论(0编辑  收藏  举报