4. 소금 상태
관련 문서
1. Salt State 사용 (Salt 파일 서버 사용)
master 의 설정 을 수정 하여 가격 을 묻 고 file 을 엽 니 다.루트 환경
file_roots:
base:
- /srv/salt/
Salt File Server 를 여 는 것 을 표시 합 니 다.Salt State 의 SLS 파일 도 file 에 적 혀 있 습 니 다.roots 가 정의 하 는 디 렉 터 리 아래.
2. SLS 파일 편집
SLS 파일 은 / srv / salt / 디 렉 터 리 아래 에 있 습 니 다.
httpd 설치 예
1. TOP 파일 준비: / srv / salt / top. sls
base:
'*':
- httpd
파일 내용 분석:
base:
'os:CentOS':
- match: grain
- httpd
이곳 의 os 는 grains 의 속성 이 고 CentOS 는 os 속성 값 입 니 다.명령: salt 'grains. items 를 통 해 grains 가 어떤 속성 을 수 집 했 는 지 볼 수 있 습 니 다. match: grain 을 정의 해 야 합 니 다. 여 기 는 grains 를 통 해 minion 과 일치 하 는 * 이기 때 문 입 니 다.
top. sls 파일 이 든 다른 state 파일 이 든 문법 이 정확 해 야 합 니 다 (예 를 들 어 state modules, modules funtion 등 이 정확 해 야 합 니 다). 그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.
2. / srv / salt / httpd. sls 파일 편집
httpd:
pkg:
- installed
service:
- running
- require:
- pkg: httpd
다른 표기 법:
httpd:
pkg.installed: []
service.running:
- require:
- pkg: httpd
파일 내용 분석 (첫 번 째 쓰기 로 예 를 들 면)
위의 SLS 파일 은 이렇게 고 칠 수 있 습 니 다.
install_httpd:
pkg.installed:
- name: httpd
처음에 이런 SLS 파일 을 썼 을 때 나 는 매우 곤 혹 스 러 웠 다. 실제로 이런 이른바 'state modules', 함수 가 매개 변 수 를 설명 하 는 것 은 무엇 입 니까?사실 이런 대응 하 는 것 은 하나의 클래스 나 함수 이다.함수 성명 은 실제 적 으로 함 수 를 호출 하 는 것 입 니 다. 함수 성명 후의 값 은 함수 안의 매개 변수 입 니 다. pkg 모듈 을 예 로 들 면 우 리 는 그의 정 의 를 봅 니 다.
salt.states.pkg.installed(name, version=None, refresh=None, fromrepo=None, skip_verify=False, skip_suggestions=False, pkgs=None, sources=None, allow_updates=False, pkg_verify=False, normalize=True, ignore_epoch=False, reinstall=False, update_holds=False, **kwargs)
우 리 는 SLS 파일 을 쓸 때 이렇게 썼 다.installed 는 함수 입 니 다.서비스 모듈 의 정 의 를 다시 보십시오. 다음 과 같 습 니 다.
salt.states.service.running(name, enable=None, sig=None, init_delay=None, **kwargs)
Python 기반 이 있 으 면 훨씬 간단 해 보 입 니 다. 풀 한 덩어리 에 이 르 지 않 고 사용 할 줄 만 알 지만 어떻게 파 라 메 터 를 전달 하 는 지 모 릅 니 다.
3. SLS 파일 실행
SLS 파일 을 다 쓴 후에 해당 하 는 minion 에 대해 SLS 파일 을 실행 할 수 있 습 니 다. 실행 방법 은 두 가지 로 나 눌 수 있 습 니 다.
minion 이 state. highstate 명령 을 실행 하면 minion 은 top. sls 파일 을 다운로드 하고 파일 의 표현 식 과 일치 합 니 다. 표현 식 이 일치 하면 열 거 된 모듈 은 다운로드, 컴 파일, 실 행 됩 니 다.
이 예 와 같이:
salt '*' state.sls httpd
비고: State SLS 파일 에서 Grains 와 Pillar 의 데 이 터 를 참조 할 수 있 습 니 다.
3. 여러 개의 SLS 파일
Salt 를 확장 적 으로 배치 할 때 여러 개의 SLS 파일 을 사용 할 수 있 으 며, 2 개 이상 의 SLS 파일 에 대해 서 는 SLS 파일 트 리 를 결합 하여 만 들 수 있 습 니 다.
예 를 들 어 httpd 서 비 스 를 설치 하고 시작 한 후 index. html 파일 을 minion 엔 드 의 / var / www / html 에 다운로드 하여 접근 할 수 있 습 니 다.
/srv/salt/top.sls
base:
'*':
- httpd
/srv/salt/httpd/init.sls
httpd:
pkg:
- installed
service:
- running
- require:
- pkg: httpd
/var/www/html/index.html:
file.managed:
- source: salt://httpd/index.html
- require:
- pkg: httpd
ID 를 설명 할 때 실제로 minion 이 파일 을 다운로드 한 후의 저장 경 로 를 지정 합 니 다. / var / www / html / index. html
/srv/salt/httpd/index.html
this is test
salt '*' state.sls httpd
4. Jinja 템 플 릿 형식의 SLS 파일
예시
5. state 의 상용 모듈
Salt State System 의 SLS 파일 에서 state 의 각종 모듈 은 특정한 문법 이 있 습 니 다.
SLS 파일 의 Salt State 모든 모듈 및 사용 방법
SLS 파일 의 변수 참조 문법
1. 상용 모듈
base:
'*':
- sshd
/srv/salt/sshd/init.sls
sshd:
pkg:
- installed
- name: openssh-server
service:
- running
- require:
- pkg: openssh-server
firewall:
iptables.append:
- table: filter # filter
- chain: INPUT # INPUT
- jump: ACCEPT # :ACCEPT/REJECT
- match: state #
- connstate: NEW
- dport: 22 #
- proto: TCP #
- sport: 1025:65535 #
- save: True #service iptables save。 /etc/sysconfig/iptables
iptables 마지막 명령 은 다음 과 같 습 니 다:
#/sbin/iptables -t filter -A INPUT -p TCP -m state --state NEW --dport 22 --sport 1025:65535 --jump ACCEPT
#service iptables save
Salt State 시스템 은 Salt 의 핵심 중 하나 입 니 다. SLS 를 능숙 하 게 쓰 면 여러 대상 호스트 를 편리 하 게 관리 할 수 있 습 니 다.더 많은 State Modules 홈 페이지 참조
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.