AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 610656
Accepted
mohrphium
mohrphium
Asked: 2014-07-08 06:54:42 +0800 CST2014-07-08 06:54:42 +0800 CST 2014-07-08 06:54:42 +0800 CST

SaltStack 以 * 为目标

  • 772

我在我的 linux 机器上使用 SaltStack 并想定义节点组。我知道复合匹配和仆从列表等。

这就是我所需要的,它以这种方式工作,但是使用大量服务器很难维护

nodegroups:
  group1: 'srv1,srv2,srv3,srv4,dev1,dev2,stage1,stage2'
  

为了简单起见,我试图以这种方式定义它们:

nodegroups:
  group1: 'srv*,dev*,stage*'

但我找不到正确的方法。有任何想法吗?

-=编辑=-

我尝试了Dan Garthwaite的解决方案,但没有奏效。我什至在安装了 Salt 版本 2014.1.4 的私人开发服务器上进行了尝试。这就是我得到的。

尝试正常列表(完整主机名)

fmohr@salt-master:~$ sudo salt -v -C 'L@dns01,apache' test.ping
Executing job with jid 20140708072832751715
-------------------------------------------

dns01:
    True
apache:
    True

带一个通配符

fmohr@salt-master:~$ sudo salt -v -C 'L@dns*,apache' test.ping
Executing job with jid 20140708072837257646
-------------------------------------------

apache:
    True

带有所有通配符

fmohr@salt-master:~$ sudo salt -v -C 'L@dns*' test.ping
No minions matched the target. No command was sent, no jid was assigned.

fmohr@salt-master:~$ sudo salt -v -C 'L@dns*,apach*' test.ping
No minions matched the target. No command was sent, no jid was assigned.

我认为您不能在列表中使用通配符,但我不知道如何将盐用于目标 dns* 和 apach*(例如)。

groups
  • 3 3 个回答
  • 3364 Views

3 个回答

  • Voted
  1. Best Answer
    CatOverflow
    2014-07-23T20:28:36+08:002014-07-23T20:28:36+08:00

    您应该使用或连接它们,如下所示:

    nodegroups:
        group1: 'srv* or dev* or stage*'
    
    salt -C 'srv* or dev* or stage*' test.ping
    

    在我的机器上测试。

    • 3
  2. Dan Garthwaite
    2014-07-08T09:39:17+08:002014-07-08T09:39:17+08:00

    节点组使用此处定义的复合匹配:

    http://docs.saltstack.com/en/latest/topics/targeting/compound.html

    你的答案是:

    nodegroups:
      group1: L@srv*,dev*,stage*
    

    请记住,您还可以使用颗粒和/或柱子通过复合匹配器来瞄准小兵。

    • 2
  3. mohrphium
    2014-07-10T03:06:43+08:002014-07-10T03:06:43+08:00

    我现在用谷物做的。我刚刚添加

    grains:
      group: groupname
    

    在我的奴才的 /etc/salt/minion.d/minion.conf 中。这并不是我真正想要的,因为它定义了 minion 在 minion 端获得的角色,从安全角度来看这不是最佳的(另外,在 master 上定义所有组会更方便。)

    从好的方面来说,我可以将不属于任何组的服务器的粒度设置为未定义,并且更容易获得所有未定义服务器的列表。

    谢谢您的帮助。我会让这个问题保持未解决,因为它并没有真正解决(如果有人知道如何在主人身上做到这一点,请告诉我)

    • 0

相关问题

  • AD 组成员身份更改未反映在 winbind 信息中

  • 组和权限:嵌套的 UNIX 组

  • 分配给 Ubuntu Server 8.04 中第一个用户的默认组?

  • 在 SQL Server 中,何时应将 PRIMARY Data FileGroup 拆分为辅助数据文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve