saltstack highstate
highstate 는 state 모듈 의 함수 입 니 다. highstate 함 수 는 top. sls 파일 을 입구 로 모듈 과 호스트 를 관리 합 니 다. 다음은 먼저 highstate 함수 와 top. sls 파일 을 결합 하여 상태 파일 을 관리 하 는 것 을 배 웁 니 다.위의 nginx 를 예 로 들 면:
nginx 폴 더 만 들 기
[root@29-server]# mkdir /srv/salt/nginx
[root@29-server]# tree /srv/salt/nginx/
[root@29-server salt]# tree /srv/salt/
/srv/salt/
├── apache.sls
├── _modules
│ └── hello.py
├── nginx
│ ├── nginx.j2
│ ├── nginx.sls
│ └── test_vhost.conf
└── top.sls
2 directories, 6 files
ngix. sls 파일 의 source 파일 과 의 경 로 를 조정 하 십시오.
[root@29-server salt]# cat /srv/salt/top.sls
base:
"minion-one":
- nginx.nginx
highstate
[root@29-server]# salt "*" state.highstate
2. 상태 파일 의 분할 과 재 활용
Nginx 를 설치 하고 관리 하 는 모듈 에는 상태 관리 파일 nginx. sls, 템 플 릿 파일 nginx. j2 와 일반 텍스트 파일 test 가 포함 되 어 있 습 니 다.vhost. conf, 모든 파일 을 같은 디 렉 터 리 에 두 면 구분 하고 관리 하기 가 쉽 지 않 습 니 다.또한 단일 한 nginx. sls 도 Nginx 라 는 모듈 이 어떤 조작 을 했 는 지 뚜렷하게 보 여주 지 못 하고 쓰기 편 하고 차원 이 뚜렷 한 측면 에서 기 존의 이런 구 조 를 바 꿔 야 한다.
먼저 모듈 의 디 렉 터 리 를 구조 화하 고 해당 하 는 파일 을 해당 하 는 디 렉 터 리 에 넣 습 니 다.
[root@29-server salt]# mkdir /srv/salt/nginx/{templates,files}
[root@29-server salt]# mv /srv/salt/nginx/nginx.j2 /srv/salt/nginx/templates/
[root@29-server salt]# mv /srv/salt/nginx/test_vhost.conf /srv/salt/nginx/files/
nginx. sls 분할:
init 파일 로 입구 파일 을 만들어 서 다른 파일 을 포함 합 니 다:
[root@29-server nginx]# cat init.sls
include:
- .install_nginx
- .nginx_running
- .nginx_conf
- .vhost_conf
설치 nginx:
[root@29-server nginx]# cat install_nginx.sls
install_nginx:
pkg.installed:
- name: nginx
nginx 서비스 관리:
[root@29-server nginx]# cat nginx_running.sls
nginx_running:
service.running:
- name: nginx
- enable: Ture
- require:
- pkg: install_nginx
- watch:
- file: nginx_conf
- file: vhost_conf
nginx 설정 템 플 릿 파일 관리:
[root@29-server nginx]# cat nginx_conf.sls
nginx_conf:
file.managed:
- name: /etc/nginx/nginx.conf
- source: salt://nginx/templates/nginx.j2
- user: root
- group: root
- template: jinja
- mode: 644
nginx 가상 호스트 파일 관리:
[root@29-server nginx]# cat vhost_conf.sls
vhost_conf:
file.managed:
- name: /etc/nginx/conf.d/nginx.conf
- source: salt://nginx/files/test_vhost.conf
- user: root
- group: root
- mode: 644
이러한 구체 적 인 기능 을 대응 하 는 파일 에 단독으로 쓰 면 Nginx 라 는 모듈 이 어떤 조작 을 했 는 지 파일 이름 에서 쉽게 알 수 있 고 설정 을 편리 하 게 수정 할 수 있다 는 장점 이 있 습 니 다. 이제 Nginx 모듈 의 디 렉 터 리 구 조 를 다시 한번 살 펴 보 겠 습 니 다.
[root@29-server nginx]# tree /srv/salt/nginx/
/srv/salt/nginx/
├── files
│ └── test_vhost.conf
├── init.sls
├── install_nginx.sls
├── nginx_conf.sls
├── nginx_running.sls
├── nginx.sls
├── templates
│ └── nginx.j2
└── vhost_conf.sls
2 directories, 8 files
top. sls 파일 수정 (Nginx 모듈 의 폴 더 에 init. sls 가 있 습 니 다. Salt 는 init. sls 를 기본적으로 불 러 옵 니 다. nginx. init 라 는 형식 으로 쓸 필요 가 없습니다):
[root@29-server nginx]# cat /srv/salt/top.sls
base:
"minion-one":
- nginx
명령 실행:
salt "*" state.highstate
설치 결 과 는 수정 전과 같 지만 현재 디 렉 터 리 구 조 는 더욱 뚜렷 하고 읽 을 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.