OnWorks Linux 및 Windows 온라인 워크스테이션

심벌 마크

워크스테이션용 무료 온라인 호스팅

<이전 | 내용 | 다음>

10.2.3. 염분 상태 및 기타 특징‌


원격 실행은 중요한 구성 요소이지만 SaltStack이 수행할 수 있는 기능의 아주 작은 부분에 불과합니다.

새 시스템을 설정할 때 설치에 앞서 시스템의 세부 사항을 확인하기 위해 많은 명령과 테스트를 실행하는 경우가 많습니다. 이러한 작업은 재사용 가능한 구성 템플릿으로 형식화될 수 있습니다. 상태 파일. 그러면 상태 파일에 설명된 작업을 단일 명령으로 수행할 수 있습니다. 상태.적용 소금 명령.

시간을 절약하려면 커뮤니티에서 생성하고 "소금 공식"으로 배포되는 즉시 사용 가능한 여러 상태 파일을 사용할 수 있습니다.

https://docs.saltstack.com/en/latest/topics/development/conventions/formulas. html

결합할 수 있는 다른 많은 기능이 있습니다:

• 예약된 작업 실행

• 미니언에 의해 트리거된 이벤트에 대한 응답 동작 정의

• 미니언으로부터 데이터 수집

• 여러 미니언에 걸쳐 일련의 작업을 조율합니다.

• salt-minion 서비스를 설치하지 않고 SSH를 통해 상태 적용

• 클라우드 인프라에 시스템을 프로비저닝하고 이를 관리합니다.

• 그리고 더

SaltStack은 꽤 방대해서 여기에서 모든 기능을 다룰 수는 없습니다. 실제로 SaltStack에만 전념하는 책이 있으며 온라인 문서도 매우 광범위합니다. 기능에 대해 더 자세히 알고 싶다면 확인해 보세요.

https://docs.saltstack.com/en/latest/

상당한 수의 시스템을 관리하는 경우 새 시스템을 배포할 때 상당한 시간을 절약하고 네트워크 전체에서 일관된 구성을 유지할 수 있으므로 SaltStack에 대해 자세히 알아보는 것이 좋습니다.

상태 파일을 사용하여 작업하는 방법을 맛보기 위해 간단한 예를 다루겠습니다. APT 저장소를 활성화하고 섹션 10.3.3, “APT용 패키지 저장소 생성”에서 생성한 패키지를 설치하는 방법 [페이지 269] 및 10.3.2절 “구성 패키지 만들기” [페이지 263]. 또한 문제가 발생할 경우 원격으로 로그인할 수 있도록 루트 계정에 SSH 키를 등록합니다.

기본적으로 상태 파일은 다음 위치에 저장됩니다. /srv/소금 마스터에서; 이는 다음과 같은 YAML 구조 파일입니다. .sls 확대. 명령 실행과 마찬가지로 상태 적용은 여러 상태 모듈에 의존합니다.

https://docs.saltstack.com/en/latest/topics/tutorials/starting_states.html

https://docs.saltstack.com/en/latest/ref/states/all/

너의 /srv/salt/offsec.sls 파일은 해당 모듈 중 세 개를 호출합니다.


offsec_repository: pkgrepo.managed:

- 이름 : deb http://pkgrepo.offsec.com offsec-internal main

- 파일: /etc/apt/sources.list.d/offsec.list

- key_url: 소금://offsec-apt-key.asc

-require_in:

- pkg: offsec-기본값


offsec-defaults: pkg.installed


ssh_key_for_root: ssh_auth.present:

- 사용자: 루트

- 이름: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali

offsec_repository: pkgrepo.managed:

- 이름 : deb http://pkgrepo.offsec.com offsec-internal main

- 파일: /etc/apt/sources.list.d/offsec.list

- key_url: 소금://offsec-apt-key.asc

-require_in:

- pkg: offsec-기본값


offsec-defaults: pkg.installed


ssh_key_for_root: ssh_auth.present:

- 사용자: 루트

- 이름: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali


XNUMXD덴탈의 offsec_repository 국가는 다음에 의존한다. pkgrepo 상태 모듈. 예제에서는 다음을 사용합니다. 관리

해당 상태 모듈에서 함수를 사용하여 패키지 저장소를 등록합니다. 와 더불어 key_url 속성, 당신

저장소의 서명을 확인하는 데 필요한 (ASCII 기갑) GPG 키를 다음에서 가져올 수 있음을 솔트에게 알려주세요. /srv/salt/offsec-apt-key.asc 소금 마스터에. 그만큼 require_in 속성은 이 상태가 offsec-기본값, 후자는 패키지를 설치할 수 있도록 올바르게 구성된 저장소가 필요하기 때문입니다.

XNUMXD덴탈의 offsec-기본값 state는 같은 이름의 패키지를 설치합니다. 이는 키 이름이 상태에 대한 중요한 값인 경우가 많지만 항상 키 이름으로 재정의될 수 있음을 보여줍니다. name 속성(이전 상태에서와 동일). 이와 같은 간단한 경우에는 읽기 쉽고 간결합니다.

마지막 상태(ssh_key_for_root)는 다음에 제공된 SSH 키를 추가합니다. name 속성을 다음과 같이 설정합니다. /root/.ssh/authorized_keys (대상 사용자는 사용자 기인하다). 여기서는 가독성을 위해 키를 단축했지만 이름 속성에 전체 키를 입력해야 합니다.

다음으로 이 상태 파일을 특정 미니언에 적용할 수 있습니다.


섬기는 사람# salt kali-scratch state.apply offsec

칼리 스크래치:

----------

ID: offsec_repository 함수: pkgrepo.managed

이름: deb http://pkgrepo.offsec.com offsec-internal main 결과: True

설명: 구성된 패키지 저장소 'deb http://pkgrepo.offsec.com offsec-internal

기본'

시작: 06:00:15.767794

지속 시간: 4707.35ms 변경 사항:

----------

repo :

deb http://pkgrepo.offsec.com offsec-내부 메인

----------

ID: offsec-defaults 기능: pkg.installed

결과: 사실

설명: 다음 패키지가 설치/업데이트되었습니다: offsec-defaults 시작됨: 06:00:21.325184

지속 시간: 19246.041ms 변경 사항:

----------

offsec-기본값:

----------

새로운:

1.0

낡은:

----------

ID: ssh_key_for_root 기능: ssh_auth.present

섬기는 사람# salt kali-scratch state.apply offsec

칼리 스크래치:

----------

ID: offsec_repository 함수: pkgrepo.managed

이름: deb http://pkgrepo.offsec.com offsec-internal main 결과: True

설명: 구성된 패키지 저장소 'deb http://pkgrepo.offsec.com offsec-internal

기본'

시작: 06:00:15.767794

지속 시간: 4707.35ms 변경 사항:

----------

repo :

deb http://pkgrepo.offsec.com offsec-내부 메인

----------

ID: offsec-defaults 기능: pkg.installed

결과: 사실

설명: 다음 패키지가 설치/업데이트되었습니다: offsec-defaults 시작됨: 06:00:21.325184

지속 시간: 19246.041ms 변경 사항:

----------

offsec-기본값:

----------

새로운:

1.0

낡은:

----------

ID: ssh_key_for_root 기능: ssh_auth.present


이름: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali 결과: True

설명: 사용자 루트에 대한 승인된 호스트 키 AAAAB3NzaC1yc2...89C4N이 추가되었습니다. 시작됨: 06:00:40.582539

지속 시간: 62.103ms 변경 사항:

---------- AAAAB3NzaC1yc2...89C4N:

신제품


칼리 스크래치 요약

------------

성공: 3(변경됨=3)

실패한: 0

------------

실행된 총 상태: 3

총 실행 시간: 24.015초

이름: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali 결과: True

설명: 사용자 루트에 대한 승인된 호스트 키 AAAAB3NzaC1yc2...89C4N이 추가되었습니다. 시작됨: 06:00:40.582539

지속 시간: 62.103ms 변경 사항:

---------- AAAAB3NzaC1yc2...89C4N:

신제품


칼리 스크래치 요약

------------

성공: 3(변경됨=3)

실패한: 0

------------

실행된 총 상태: 3

총 실행 시간: 24.015초


또한 미니언에 기록하여 영구적으로 연결할 수도 있습니다. /srv/salt/top.sls

에서 사용하는 파일 상태.하이상태 단일 패스로 모든 관련 상태를 적용하는 명령:


섬기는 사람# 고양이 /srv/salt/top.sls

베이스:

칼리 스크래치:

- 오프섹

섬기는 사람# 소금 칼리 스크래치 상태.하이스테이트

칼리 스크래치:

----------

ID: offsec_repository 함수: pkgrepo.managed

이름: deb http://pkgrepo.offsec.com offsec-internal main 결과: True

설명: 이미 패키지 저장소 'deb http://pkgrepo.offsec.com offsec-internal main'

구성됨 시작됨: 06:06:20.650053

지속 시간: 62.805ms 변경 사항:

----------

ID: offsec-defaults 기능: pkg.installed

결과: 사실

설명: offsec-defaults 패키지가 이미 설치되어 있습니다. 시작됨: 06:06:21.436193

지속 시간: 385.092ms 변경 사항:

----------

ID: ssh_key_for_root

섬기는 사람# 고양이 /srv/salt/top.sls

베이스:

칼리 스크래치:

- 오프섹

섬기는 사람# 소금 칼리 스크래치 상태.하이스테이트

칼리 스크래치:

----------

ID: offsec_repository 함수: pkgrepo.managed

이름: deb http://pkgrepo.offsec.com offsec-internal main 결과: True

설명: 이미 패키지 저장소 'deb http://pkgrepo.offsec.com offsec-internal main'

구성됨 시작됨: 06:06:20.650053

지속 시간: 62.805ms 변경 사항:

----------

ID: offsec-defaults 기능: pkg.installed

결과: 사실

설명: offsec-defaults 패키지가 이미 설치되어 있습니다. 시작됨: 06:06:21.436193

지속 시간: 385.092ms 변경 사항:

----------

ID: ssh_key_for_root


기능: ssh_auth.present

이름: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali 결과: True

설명: 인증된 호스트 키 AAAAB3NzaC1yc2...89C4N이 이미 존재합니다.

루트 사용자

시작: 06:06:21.821811

지속 시간: 1.936ms 변경 사항:


칼리 스크래치 요약

------------

성공: 3

실패한: 0

------------

실행된 총 상태: 3

총 실행 시간: 449.833ms

기능: ssh_auth.present

이름: ssh-rsa AAAAB3NzaC1yc2...89C4N rhertzog@kali 결과: True

설명: 인증된 호스트 키 AAAAB3NzaC1yc2...89C4N이 이미 존재합니다.

루트 사용자

시작: 06:06:21.821811

지속 시간: 1.936ms 변경 사항:


칼리 스크래치 요약

------------

성공: 3

실패한: 0

------------

실행된 총 상태: 3

총 실행 시간: 449.833ms


OnWorks의 최고 OS 클라우드 컴퓨팅: