saltstack highstate

3363 단어
1. top. sls 파일 로 상태 파일 관리
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설치 결 과 는 수정 전과 같 지만 현재 디 렉 터 리 구 조 는 더욱 뚜렷 하고 읽 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기