본문 바로가기
DevOps/Infra

(IaC) SaltStack 개념

by 정보봇따리 2023. 3. 1.
728x90
반응형
SMALL

master-minion 구조의 IaC 툴

master - minion 은 PKI based

 

  • Grains
    : 미니언 > 마스터로 보내주는 정보
    : os 정보, 네트워크 정보, 하드웨어 정보, salt minion의 ID, 기타 등등
    : Custom Grains
    /etc/salt/minion 파일에 아래 내용 추가:
grains:
  roles:
    - webserver
  custom_values:
    - staging-msa

 

  • Pillars
    : 마스터 > 미니언으로 공유시켜주는 글로벌 변수 (같은 것)
    : 비번이라던가.. 설정값들
    : logic 과 데이터의 분리

  • Salt 설정 적용
    : Salt Command
$ salt prod-infra-msa1 cmd.run 'apt -y install bind'


        : Salt State System

install_bind:
  pkg.installed:
    - name: named
...

 

  • HighState
    : highstate 는 모든 state file 의 모음 
    : top.sls file 에 정의 됨 → 어떤 미니언에 어떤 state 명시 (cf. ansible inventory) 
    : Top 파일 ( top.sls )

# sensu-server
'G@roles:sensu-server':
  - sensu-server

# infra-proxy server
'G@roles:infra-proxy':
  - infra-proxy

'G@roles:msa-fe':
  - msa-fe

 

  • environment
    : salt state 의 적용 범위
    : master /etc/salt/master 파일
file_roots:
  base:
    - /srv/salt/base
  dev:
    - /srv/salt/dev1
  qa:
    - /srv/salt/qa1
  prod:
    - /srv/salt/prod


: master /etc/salt/minion 파일

environment: prod
 
 

 

 

Ansible 같은 Configuration Management 툴이라고 생각하면 된다 :)

728x90
반응형
LIST