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