Targeting은 명령을 실행하고, 구성을 적용하고, SaltStack에서 솔트 미니언을 포함하는 거의 모든 작업을 수행할 때 솔트 미니언을 선택하는 방법입니다.
타겟팅하는 가장 간단한 방법은 솔트 미니언 ID를 사용하는 것입니다. 이 값은 minion config 파일에서 원하는 대로 설정할 수 있으며 부트스트랩 스크립트의 -i 옵션을 사용하여 지정할 수 있습니다.
salt 'minion1' disk.usage
글로빙(globbing)
솔트 미니언 ID의 글로빙은 대상에 와일드카드만 포함하면 지원됩니다.
salt 'minion*' disk.usage
타겟팅 방법은 매우 다양
이상적인 환경에서 환경의 각 시스템은 하드웨어, OS 및 시스템 역할에 대해 알아야 할 모든 것을 알려주는 구조화된 이름을 가지고 있습니다. SaltStack은 고객이 정적 및 사용자 지정 데이터를 기반으로 시스템을 찾고 필터링할 수 있도록 지원하는 강력한 타겟팅 시스템을 제공합니다.
대상은 Grains 시스템을 사용하는 Salt minion 시스템 정보를 기반으로 할 수 있습니다.
salt -G 'os:Ubuntu' test.ping
대상은 정규식으로 필터링할 수 있습니다.
salt -E 'minion[0-9]' test.ping
대상은 목록에 명시적으로 지정할 수 있습니다.
salt -L 'minion1,minion2' test.ping
또는 여러 대상 유형을 하나의 명령으로 결합할 수 있습니다.
salt -C 'G@os:Ubuntu and minion* or S@192.168.50.*' test.ping
아직은 이러한 타겟팅 방법에 대해 너무 걱정하지 마십시오. 타겟팅 메커니즘이 관리하고자 하는 시스템을 찾을 수 있는 충분한 유연성을 가지고 있다고 확신하기만 하면 됩니다.
그레인(Grain)
그레인은 SaltStack이 기본 관리 시스템에 대해 수집하는 정적 정보입니다. SaltStack은 운영 체제, 도메인 이름, IP 주소, 커널, OS 유형, 메모리 및 기타 많은 시스템 속성에 대한 그레인을 수집합니다.
/etc/salt/grains 파일을 Salt Master의 /etc/salt/grains 파일 또는 grains 섹션 아래의 Salt minion 구성 파일에 저장하여 사용자 고유의 입자를 추가할 수 있습니다. 예를 들어, 많은 사용자가 시스템의 기능을 설명하기 위해 각 솔트미니언에 role이라고 하는 사용자 정의 그레인을 추가합니다.
grains.ls 명령을 사용하여 소금 미니언의 모든 입자를 나열할 수 있습니다.
그레인 이름은 소문자입니다.
알았어, 다음은 뭐야?
명령줄에서 실행 모듈을 사용하는 방법과 대상을 사용하여 솔트미니언을 필터링하는 방법을 잘 이해하셨기를 바랍니다. 다음 단계에서는 스테이트(state)라고 하는 재사용 가능한 구성 템플릿을 정의하여 한 번에 더 멋진 결과를 얻을 수 있도록 합니다.
출처 : https://docs.saltproject.io/en/getstarted/fundamentals/targeting.html