SaltStack-솔트 프록시 미니언
사용자 지정 OS, 제한된 메모리 및 높은 보안 고려 사항을 가진 라우터, 네트워크 장비 등과 같은 많은 장치가 있습니다. 이러한 장치에서는 표준을 설치할 수 없었습니다.salt-minion그 후 이러한 시스템을 관리 할 수 없었습니다. 그러나 Salt는 이러한 제약을 극복 할 수있는 혁신적인 기술을 제공합니다.
Salt에는 원격 시스템에서 실행되는 REST 서비스를 사용하여 원격 시스템을 제어하는 별도의 모듈 인 salt 프록시 미니언이 있습니다. 이 REST 서비스는 다음을 사용하여 작성된 HTTP 기반 웹 서비스입니다.Representational State Transfer (REST) 구현하기 쉽고 소비하기 쉽습니다.
모든 기기에는 복잡한 애플리케이션을 작성하기위한 자체 SDK 및 개발 환경이 있습니다. Salt는 Salt 인터페이스 사양에 따라 기기에서 REST 서비스가 개발 될 것으로 예상합니다. Salt는 REST 웹 서비스를 작성하기위한 파이썬 모듈도 제공합니다. 장치가 python을 지원하면 REST 웹 서비스를 쉽게 개발할 수 있습니다.
REST 웹 서비스가 개발되고 원격 시스템에 배포되면 Salt 미니언 대신 REST 웹 서비스를 사용하여 원격 장치를 제어하도록 Salt를 구성 할 수 있습니다.
작업 예
개념을 배우자 salt proxy minion라이브 작업 환경을 사용합니다. 라이브 환경의 경우 마스터 및 프록시 미니언 모두에 대해 Linux 시스템을 선택했습니다. 솔트 미니언 대신 REST 웹 서비스를 사용하여 시스템을 제어 할 것입니다.
REST 웹 서비스 설치 및 구성
Salt는 contrib 모듈에서 proxyminion_rest_example으로 이름 지정된 REST 웹 서비스 구현의 샘플을 제공합니다. 샘플 웹 서비스를 설치하겠습니다.
설치 ‘bottle’핍을 사용하여. 그만큼bottle 명령은 웹 애플리케이션을 개발하기위한 파이썬 웹 프레임 워크입니다.
pip install bottle = 0.12.8
다운로드 saltstack/salt-contribgithub의 프로젝트. 그렇지 않으면 다음 명령을 사용하여 프로젝트를 복제하십시오.
git clone https://github.com/saltstack/salt-contrib
터미널을 열고 salt-contrib 예배 규칙서.
이 salt-contrib 디렉토리에는 폴더가 있습니다. proxyminion_rest_example. 이 폴더에는 REST 웹 서비스에 대한 샘플 구현이 포함되어 있습니다. proxyminion_rest_example 폴더로 이동합니다.
다음 명령을 실행하여 REST 웹 서비스를 시작하십시오.
python rest.py --address <your ip address> --port 8000
브라우저를 열고 http : //«your ip address»: 8000을로드합니다. 그러면 아래 스크린 샷과 같이 서비스 및 패키지가있는 기본 페이지가 표시됩니다.
이제 REST 웹 서비스를 구성했으며 REST 웹 서비스를 쿼리하고 시스템을 제어하기 위해 솔트 프록시를 구성하는 방법을 확인합니다.
Salt-Proxy 구성
Salt-Proxy를 설정하려면 아래 단계를 따라야합니다.
솔트 프록시에 대한 마스터 노드를 지정해야합니다. / etc / salt / proxy에있는 프록시 구성 파일 위치를 편집하고 다음 코드를 입력합니다.
master: <your ip address>
기본 기둥 파일 수정 / 생성 /srv/pillar/top.sls 다음 코드 블록에서 볼 수 있습니다.
base:
'p8000':
- p8000
새 기둥 파일을 추가하고 p8000.sls 에 /srv/pillar 아래 코드 블록에 나와 있습니다.
proxy:
proxytype: rest_sample
url: http://<your ip address>:8000
다음 명령을 사용하여 디버그 모드에서 salt-proxy를 시작하십시오.
salt-proxy --proxyid = p8000 -l debug
소금 미니언과 유사하게 salt-proxy key 아래 그림과 같이.
salt-key -y -a p8000
The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.
솔트 실행
이제 salt 명령하고 호출 ping.test 아래와 같이 기능합니다.
salt p8000 test.ping
다음을 사용하여 REST 웹 서비스에서 지원하는 모든 기능을 실행할 수 있습니다. salt, 이는 salt-minion.
예를 들어 다음 명령을 사용하여 곡물 정보를 얻을 수 있습니다.
salt p8000 grains.items