SaltStack 이해 – 시스템 데이터

데이터

이 섹션에서는 시스템 데이터의 두 가지 주요 측면에 대해 설명합니다. 즉, 시스템에 대한 데이터를 가져오는 방법과 시스템에 데이터를 가져오는 방법에 대해 설명합니다. 솔트는 각각 이러한 각 작업을 수행하기 위한 두 개의 다른 하위 시스템, 즉 솔트 그레인(Salt grain)과 솔트 필러(Salt pillar)소금 알갱이와 소금 기둥을 제공합니다.

이 절에서는 세 번째 구성 요소인 솔트 마인(Salt mine)도 설명합니다. 솔트마인(Salt mine)은 모든 미니언들이 액세스할 수 있는 마스터의 공유 데이터 저장소로 데이터를 푸시하는 데 사용됩니다.

그레인

그레인은 시스템에 대한 데이터를 가져오는 데 사용됩니다. 그레인은 기본 운영 체제, 메모리, 디스크 및 기타 많은 시스템 속성에 대한 정적 정보입니다.

그레인은 미니언이 시작되고 주기적으로 새로 고쳐질 때 또는 원격 실행 명령을 사용하여 자동으로 수집됩니다.

그러면 여러분은 그레인으 무엇을 할 수 있을까요? 모든 그레인을 나열하고 특정 그레인 값을 가진 시스템을 찾을 수 있는 그레인 실행 모듈을 사용하여 인벤토리를 수집할 수 있습니다.

그레인은 또한 표적 시스템의 필수적인 부분이다. 그레인는 솔트 스테이트와 솔트 필러 데이터를 대상으로 하며, 이를 통해 다음 미니언 데이터 서브시스템으로 바로 이동합니다: 솔트 필러.

곡물은 어떻게 수집되는가?
플러그인에 대한 이전 섹션을 읽어보셨다면, 곡물이 어떻게 작동하는지 이미 알고 계실 것입니다. 그레인스 서브시스템에는 여러 Salt Grains 모듈(플러그인이라고 함)이 있으며, 미니언에서 실행되어 그레인스 사전을 채운다.
그레인(grain)이 원격 실행 모듈보다 간단하기 때문에, 각 그레인 모듈은 OS를 통해 그레인 데이터를 수집하는 논리를 포함하고 있다(여러 모듈과 __virtualname__를 사용하는 대신).

솔트 필러

솔트 필러는 시스템에 데이터를 전달하는 데 사용됩니다. 간단한 시스템이라도 구성할 때 필요한 사용자 정의 데이터(사용자 이름, 서비스 URL, 기본 설치 경로, 포트, 기본이 아닌 애플리케이션 설정 등)를 생각해 보십시오. 이러한 값은 대개 각 시스템 또는 시스템 역할(웹, 데이터베이스 등)마다 다릅니다.

솔트 필러를 사용하면 이러한 데이터 값을 정의한 다음 대상을 사용하여 하나 이상의 미니언에 할당할 수 있습니다. 그런 다음 변수를 사용하여 값을 솔트 스테이트로 삽입할 수 있습니다.

솔트필러 데이터는 대상 미니언의 공개키를 이용해 암호화돼 보안채널을 통해 전송되기 때문에 솔트필러 역시 대상 미니언에 의해서만 암호 해독이 가능하기 때문에 암호, ssh키 등 보안 데이터를 분산하기에 적합하다. 소금 필러 데이터는 미니언의 디스크에 절대 기록되지 않습니다.

기본 솔트 필러 모듈은 YAML 파일을 사용하여 필러를 정의하지만, 다양한 백엔드를 지원하는 30개 이상의 솔트 필러 모듈(플러그인)을 사용할 수 있습니다. 인기 있는 옵션으로는 몽고와 레디스가 있는데, 둘 다 구조화된 데이터를 저장하도록 설계되었다. 많은 사용자가 YAML 파일을 고수하지만 개인 Git repo를 사용하여 필러 데이터를 관리하고 배포합니다.

솔트 마인(Salt mine)

솔트 마인은 솔트 미니언 간에 데이터 값을 공유하는 데 사용됩니다. 예를 들어 공유 데이터베이스를 설정한 경우 데이터베이스 서버에서 실행 중인 Salt minion이 IP 주소를 솔트 미니언에 자동으로 푸시하도록 구성할 수 있습니다. 이 방법은 수동으로 업데이트해야 하는 솔트 스테이트나 솔트 필러에 저장하는 것보다 더 나은 방법입니다.

나중에 이 값이 필요한 시스템을 설정할 때 Salt 상태 파일에서 Salt mine에 직접 액세스할 수 있습니다.

솔트 마인은 사용하기 매우 쉬운데, 많은 사용자들에게 가장 큰 문제는 솔트 마인을 사용하는 것을 기억하는 것입니다!

나머지 필수 하위 시스템은 다른 Get Started 가이드에서 다루어지므로 Salt를 보다 효과적으로 사용하는 데 도움이 되는 Python 기본 사항을 몇 가지 다루면서 마무리하겠습니다.

출처 : https://docs.saltproject.io/en/getstarted/system/data.html
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

Agentless Salt – 연결

Salt SSH가 연결 세부 정보를 저장하고 에이전트 없는 시스템에 연결하는 방법을 알아보겠습니다. 로스터 파일 기본적으로 Salt는 YAML 파일을…