솔트 필러는 솔트 스테이트를 재사용할 수 있게 하는 데 필수적인 요소이므로 솔트 스테이트를 쓰는 것에서 빠르게 우회하여 설정하려고 합니다.
소금 기둥 설명
솔트 필러는 대상을 사용하여 하나 이상의 minion에게 ‘할당’되는 보안 데이터를 정의할 수 있는 시스템입니다. 솔트 필러 데이터에는 포트, 파일 경로, 구성 매개 변수 및 암호와 같은 값이 저장됩니다.
{{ }} ?
곱슬곱슬한 중괄호 안의 값은 Jinja2 서술과 식입니다. 이 가이드의 뒷부분에서 Jinja2에 대해 알아보겠습니다.
pillar.get
pillar.get은 솔트 스테이트에서 필러 데이터를 검색하는 데도 사용할 수 있습니다. 이 기능은 필러 사전에 액세스하는 것보다 조금 더 복잡하지만 필러 사용 요령을 익힌 후 선택하는 것이 더 낫도록 향상된 몇 가지 기능이 있습니다.
솔트 필러 탑 파일
솔트 필러는 탑 파일을 사용하여 솔트 필러 데이터를 솔트 미니언 데이터와 일치시킵니다. 이 Top 파일은 Salt states를 Salt minions에 연결하는 데 사용되는 Top 파일과 매우 유사합니다.
솔트 스테이트 기능과 마찬가지로 솔트 필러는 예를 통해 가장 잘 학습됩니다. salt-vagrant-demo-master/saltstack/pillar 디렉토리를 생성한 다음 top.sls라는 새 파일을 생성합니다. 다음을 추가하십시오.
base: '*': - default
그런 다음 동일한 필러 디렉터리에 default.sls 파일을 생성하고 다음을 추가하십시오.
editor: vim
솔트 필러 데이터를 새로 고치면 각 솔트 미니언이 top.sls 파일에 나열된 대상과 일치합니다. Salt minion은 목표물과 일치하면 해당 목표물 아래에 있는 목록에 정의된 모든 SLS 파일을 수신합니다. 간단하죠?
‘*’ 글럽은 모든 솔트 미니언과 일치하므로 각 솔트 미니언은 vim 값을 가진 editor의 필러 키로 default을 수신합니다.
솔트 필러 새로 고침
방금 구성한 솔트 필러 값을 사용하겠습니다. 먼저 모든 Minion에서 Salt-piller 데이터를 새로 고치겠습니다.
salt '*' saltutil.refresh_pillar
솔트 스테이트에서 솔트 필러
솔트 필러 키는 솔트 스테이트의 사전에서 사용할 수 있으므로 이제 이전 섹션에서 예제 상태를 업데이트하여 이 솔트 필러 키를 사용할 수 있습니다.
vim installed: pkg.installed: - name: {{ pillar['editor'] }}
소금 필러 데이터는 안전하며 솔트 스테이트 기밀을 유지하는 데 사용할 수 있습니다. 예를 들어 솔트 필러에 값 쌍을 추가할 수 있습니다.
ftpusername: me ftppassword: oxfm4@8t5gglu^h^&
그런 다음 소금 스테이트에서 참조합니다.
sync directory using lftp: cmd.run: - name: lftp -c "open -u {{ pillar['ftpusername'] }},{{ pillar['ftppassword'] }} -p 22 sftp://example.com;mirror -c -R /local /remote"
코맨드 라인의 솔트 필러
테스트 또는 임시 관리를 위해 명령줄에서 직접 솔트 필러 값을 전달할 수 있습니다. 이러한 값은 솔트 필러 파일에 설정될 수 있는 모든 값을 재정의합니다.
salt '*' state.apply ftpsync pillar='{"ftpusername": "test", "ftppassword": "0ydyfww3giq8"}'
소금 필러는 솔트 스테이트의 거의 모든 부분을 사용자 정의할 수 있습니다.
솔트 필러 타겟팅 시스템을 사용하여 솔트 스테이트 파일의 거의 모든 값을 사용자 정의할 수 있게 되기를 바랍니다.
예를 들어 prodftp.sls 및 stageftp.sls 솔트 필러 파일을 생성하고 각 파일에 서로 다른 인증 정보를 삽입한 다음 각 파일에 서로 다른 시스템을 대상으로 지정할 수 있습니다. 각 시스템에 동일한 example.sls 솔트 상태 파일이 사용되지만 수신된 솔트 필러 파일에 따라 다른 사용자 이름과 암호가 사용됩니다.
출처 : https://docs.saltproject.io/en/getstarted/config/pillar.html