自动化配置管理工具 SaltStack-02

一、Grains 组件

1、Grains用法

Grains 是 Salt 组件中非常重要的组件之一,它相当于 Puppet 的 Facter。 主要作用是负 责采集 Minion端的常用属性信息,比如 CPU、内存、磁盘及网络信息等,这个也完全可以 自定义 。 我们可以通过 grains.items 查看某台 Minion 的所有Grains 信息,这里需要大家注意的一点是: Minion端的 Grains信息是 Minion启动的时候自动采集汇报给 Master端的.

  • 1)查看所有主机的 Grains项信息
[root@server ~]# salt '*' grains.ls

  • 2)获取单个Minion主机的单项Grains数据,如获取操作系统版本
[root@server ~]# salt 'node1' grains.item os
node1:
    ----------
    os:
        CentOS
  • 3)获取其他相关信息,例如 Shell 版本
[root@server ~]# salt 'node1' grains.item shell
node1:
    ----------
    shell:
        /bin/sh

2、自定义grains

在实际工作中,我们需要结合自己的业务需求来自定义一些 Grains

  • 1)使用配置文件 自行定义。

利用配置文件来进行自定义,采用yaml格式

#编辑配置文件
[root@node1 ~]# vim /etc/salt/minion
 
 12 default_include: minion.d/*.conf			//去掉#号
 
#创建用来自定义grains的配置文件
[root@node1 ~]# vim /etc/salt/minion.d/grains.conf

grains:
  roles:
    - webserver
    - memcache
  deployment: datacenter4
  cabinet: 13
  cab_u: 14-15

#刷新Grains内容,可以重启Minion也可以master执行刷新命令
[root@node1 ~]# systemctl restart salt-minion.service

或

[root@server ~]# salt '*' saltutil.sync_grains

#查看我们自己定义的键值
[root@server ~]# salt 'node1' grains.item roles
node1:
    ----------
    roles:
        - webserver
        - memcache

[root@server ~]# salt 'node1' grains.item deployment
node1:
    ----------
    deployment:
        datacenter4

[root@server ~]# salt 'node1' grains.item cabinet
node1:
    ----------
    cabinet:
        13

二、Pillar组件

1、pillar简介

pillar也是 Salt最重要的组件之一 ,其作用是定义 Master端与 Minion端相关的所有 数据,相当于是数据管理中心 。 pillar 的安全性很高,因此 其适用于一 些比较敏感的数据 , 这也是 pillar有别于 Grains的地方。 Salt默认将 Master端配置文件中的所有数据都定义 到 pillar 中,而且对所有的 Minion 端机器开放,我们可以通过修改/etc/salt/master配置中 的 pillar_opts 的值为 True 或 False回来定义开启或禁用这项功能,修改后执行” salt ‘*’ pillar.data”, 并观察效果,记得要重启一下Master的Salt服务,这里还是在Master机器上执行以 下命令,

[root@server salt]# salt '*' pillar.data

node1:
    ----------
    master:
        ----------
        __role:
            master
        auth_mode:
            1
        auto_accept:
            False
        cache_sreqs:
            True
        cachedir:
            /var/cache/salt/master
        cli_summary:
            False
        client_acl:
            ----------
        client_acl_blacklist:
            ----------
        cluster_masters:
        cluster_mode:
            paranoid
        con_cache:
            False
        conf_file:
            /etc/salt/master
        config_dir:
            /etc/salt
        cython_enable:
            False
        daemon:
            False
        default_include:
            master.d/*.conf
        enable_gpu_grains:
            False
        enforce_mine_cache:
            False
        enumerate_proxy_minions:
            False
        environment:
            None
        event_return:
        event_return_blacklist:
        event_return_queue:
            0
        event_return_whitelist:
        ext_job_cache:
        ext_pillar:
        extension_modules:
            /var/cache/salt/extmods
        external_auth:
            ----------
        failhard:
            False
        file_buffer_size:
            1048576
        file_client:
            local
        file_ignore_glob:
            None
        file_ignore_regex:
            None
        file_recv:
            False
        file_recv_max_size:
            100
        file_roots:
            ----------
            base:
                - /srv/salt
        fileserver_backend:
            - roots
        fileserver_followsymlinks:
            True
        fileserver_ignoresymlinks:
            False
        fileserver_limit_traversal:
            False
        gather_job_timeout:
            10
        gitfs_base:
            master
        gitfs_env_blacklist:
        gitfs_env_whitelist:
        gitfs_insecure_auth:
            False
        gitfs_mountpoint:
        gitfs_passphrase:
        gitfs_password:
        gitfs_privkey:
        gitfs_pubkey:
        gitfs_remotes:
        gitfs_root:
        gitfs_user:
        hash_type:
            md5
        hgfs_base:
            default
        hgfs_branch_method:
            branches
        hgfs_env_blacklist:
        hgfs_env_whitelist:
        hgfs_mountpoint:
        hgfs_remotes:
        hgfs_root:
        id:
            node1
        interface:
            0.0.0.0
        ioflo_console_logdir:
        ioflo_period:
            0.01
        ioflo_realtime:
            True
        ioflo_verbose:
            0
        ipv6:
            False
        jinja_lstrip_blocks:
            False
        jinja_trim_blocks:
            False
        job_cache:
            True
        keep_jobs:
            24
        key_logfile:
            /var/log/salt/key
        keysize:
            2048
        log_datefmt:
            %H:%M:%S
        log_datefmt_logfile:
            %Y-%m-%d %H:%M:%S
        log_file:
            /var/log/salt/master
        log_fmt_console:
            [%(levelname)-8s] %(message)s
        log_fmt_logfile:
            %(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s][%(process)d] %(message)s
        log_granular_levels:
            ----------
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值