为什么我的开发人员可以访问生产支柱数据?

问题描述 投票:0回答:0

我是盐的新手。我已经创建了一个测试环境,其中有一个 master 和一个 minion。我将有关一个简单应用程序的信息分别放在三个支柱中:基础、开发和生产。

minion 被分配到“dev”环境,所以我希望它只能看到“dev”和“base”支柱,但它可以访问所有内容。难道环境不应该控制哪些状态和哪些支柱数据可供小兵使用吗?

cat /etc/salt/master

root_dir: /
autosign_file: /etc/salt/autosign.conf
file_roots:
  base:
    - /data/salt/states
  dev:
    - /data/salt/states/dev
  prod:
    - /data/salt/states/prod
pillar_roots:
  base:
    - /data/salt/pillar/base
  dev:
    - /data/salt/pillar/dev
  prod:
    - /data/salt/pillar/prod

cat /data/salt/pillar/base/top.sls

  '*':
    - baseapp

cat /data/salt/pillar/dev/top.sls

  '*':
    - devapp

cat /data/salt/pillar/prod/top.sls

  '*':
    - prodapp

来自奴才:

salt-call grains.get 环境

    dev

salt-call pillar.items

    ----------
    baseapp:
        ----------
        listen-on:
            any
        name:
            base_app_config
        port:
            154
    devapp:
        ----------
        listen-on:
            any
        name:
            dev_app_config
        port:
            155
    prodapp:
        ----------
        listen-on:
            any
        name:
            prod_app_config
        port:
            153

我没想到 dev minion 可以访问 prod 支柱数据。我希望对 states/prod 和 pillar/prod 中的文件进行更改永远不会影响开发服务器,反之亦然。

salt-stack
© www.soinside.com 2019 - 2024. All rights reserved.