SaltStack 기둥에는 동일한 키가 포함됩니다.

SaltStack 기둥에는 동일한 키가 포함됩니다.

동일한 키 아래에 여러 개의 포함이 있다는 내용을 문서에서 찾을 수 없었지만 시도해 보니 루트 키 아래에 마지막 포함 키만 남게 되었습니다.

예를 들어:

/srv/pillar/top.sls

base:
  '*':
    - ports

고양이 /srv/pillar/ports/init.sls

include:
  - ports.frontend:
      key: ports
  - ports.backend:
      key: ports

/srv/pillar/ports/backend.sls

service1: 10000
service2: 10001

/srv/pillar/ports/frontend.sls

web1: 8000
web2: 8001

다른 키가 없는 결과는 salt '*' pillar.items다음과 같습니다.

ports:
    ----------
    service1:
        10000
    service2:
        10001

원하는 결과는 다음과 같습니다.

ports:
    web1:
        8000
    web2:
        8001
    service1:
        10000
    service2:
        10001

답변1

나에게 맞는 계획은 다음과 같습니다.

모든 하위 파일 S 1...n 을 포함하는 중간 파일 K가 있으므로 파일 K를 포함할 때 key인수를 지정하고 지정된 키 아래에 모든 하위 파일을 가집니다.

/srv/pillar/ports/backend.sls

service1: 10000
service2: 10001

/srv/pillar/ports/frontend.sls

web1: 8000
web2: 8001

/srv/pillar/ports/all_ports.sls

include:
  - ports.frontend
  - ports.backend

/srv/pillar/ports/init.sls

include:
  - ports.all_ports:
      key: ports

/srv/pillar/top.sls

base:
  '*':
    - ports

그러면 기둥 키가 ports다음과 같이 표시됩니다.

ports:
  web1: 8000
  web2: 8001
  service1: 10000
  service2: 10001

업데이트

Marco가 제안한 대로 부적절한 콜론을 수정했습니다.

관련 정보