首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装后立即访问Mine数据

安装后立即访问Mine数据
EN

Stack Overflow用户
提问于 2018-02-06 22:50:23
回答 1查看 563关注 0票数 0

我正在通过SaltStack部署一个集群(在Azure上),我已经安装了客户端,它启动了一个反应器,运行了一个编排来推送一个Mine配置,执行一个更新,重新启动salt-minion。(我将其升级为重新启动计算机)

在所有这些之后,我不能访问挖掘数据,直到我重新启动minion

/srv/reactor/startup_orchestration.sls

代码语言:javascript
复制
startup_orchestrate:
  runner.state.orchestrate:
    - mods: orchestration.startup

orchestration.startup

代码语言:javascript
复制
orchestration.mine:
  salt.state:
    - tgt: '*'
    - sls:
      - orchestration.mine

saltutil.sync_all:
  salt.function:
    - tgt: '*'
    - reload_modules: True

mine.update:
  salt.function:
    - tgt: '*'

highstate_run:
  salt.state:
    - tgt: '*'
    - highstate: True

orchestration.mine

代码语言:javascript
复制
  {% if salt['grains.get']('MineDeploy') != 'complete' %}

/etc/salt/minion.d/globalmine.conf:
  file.managed:
    - source: salt:///orchestration/files/globalmine.conf


MineDeploy:
  grains.present:
    - value: complete
    - require: 
      - service: rabbit_running

sleep 5 && /sbin/reboot:
  cmd.run


{%- endif %}

我如何通过一个反应堆推送一个矿山更新,然后在不久之后获得数据?

EN

回答 1

Stack Overflow用户

发布于 2018-02-09 07:18:36

我从pillar部署我的mine_functions,这样我就可以动态地更新函数,然后你只需要运行salt <target> saltutil.refresh_pillarsalt <target> mine.update就可以在一个新的主机上获取你的mine信息。

示例:

/srv/pillar/my_mines.sls

代码语言:javascript
复制
mine_functions:
  aws_cidr:
    mine_function: grains.get
    delimiter: '|'
    key: ec2|network|interfaces|macs|{{ mac_addr }}|subnet_ipv4_cidr_block
  zk_pub_ips:
    - mine_function: grains.get
    - ec2:public_ip

然后,您将确保您的pillar的top.sls以适当的minion为目标,然后执行saltutil.refresh_pillar/mine.update来更新您的mine函数&为mine提供数据。在学习了上面的支柱之后,我现在有了名为aws_cidrzk_pub_ips的函数,我可以从中提取数据。

此方法需要注意的一点是,必须在minion配置中定义mine_interval,因此该参数不能通过pillar实现。不过,如果您对默认的60分钟间隔没意见,这不是问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48645718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档