SaltStack Config에는 RaaS 서버, 마스터 플러그인 및 2개의 중앙 데이터베이스를 비롯한 4개 이상의 아키텍처 구성 요소가 포함됩니다.
다음 다이어그램은 설치와 관련된 기본적인 SaltStack Config 아키텍처의 기본 구성 요소를 보여줍니다.
Salt 마스터 및 마스터 플러그인
SaltStack Config는 오픈 소스 구성 관리 및 자동화 시스템인 Salt를 통해 지원됩니다.
Salt 마스터는 SaltStack Config와 네트워크의 나머지 노드(미니언) 사이의 기본 연결입니다. SaltStack Config에서 명령(예: 작업)을 내리면 그 명령은 Salt 마스터로 이동하여 대상 미니언에 분포됩니다.
SaltStack Config는 필요에 따라 시스템에 있는 하나의 Salt 마스터 또는 여러 마스터에 연결할 수 있습니다. SaltStack Config가 Salt 마스터와 통신하려면 Salt 마스터에 마스터 플러그인을 설치하고 SaltStack Config에서 해당 키를 수락해야 합니다. 마스터 플러그인을 사용하면 SaltStack Config에서 시작한 작업 또는 프로세스에 Salt 마스터가 액세스할 수 있습니다. Salt 마스터는 PostgreSQL 데이터베이스에 저장된 외부 파일 및 pillar 데이터에 액세스할 수 있습니다.
RaaS
RaaS(Returner as a Service)는 SaltStack Config의 중앙 구성 요소입니다. 실제로 SaltStack Config 자체를 말할 때 RaaS에 대해 언급하는 경우가 많습니다.
RaaS는 SaltStack Config 사용자 인터페이스에서 관리 명령을 수신하기 위한 RPC 끝점은 물론 연결된 Salt 마스터와의 상호 작용을 위한 RPC 제어 끝점을 제공합니다. 모든 통신은 WebSockets 또는 HTTP(s)를 통해 RPC API 호출을 사용하여 전송됩니다.
SaltStack Config 사용자 인터페이스
SaltStack Config 사용자 인터페이스는 RaaS용 그래픽 사용자 인터페이스 프런트 엔드를 제공하는 웹 애플리케이션입니다. SaltStack Config는 API 우선이지만 사용자 인터페이스는 API(RaaS)와 직접 상호 작용하여 환경의 모든 시스템을 간단하게 관리할 수 있습니다. 다양한 업무 공간을 통해 사용자에게 미니언, 사용자, 역할, 작업 등을 관리할 수 있는 기능을 제공합니다.
데이터베이스
PostgreSQL 데이터베이스
RaaS는 PostgreSQL 데이터베이스를 사용하여 미니언 데이터, 작업 반환, 이벤트 데이터, 파일 및 pillar 데이터, 로컬 사용자 계정 및 사용자 인터페이스에 대한 기타 설정을 저장합니다.
Redis 데이터베이스
RaaS는 Redis 데이터베이스를 사용하여 캐시된 데이터와 같은 특정 유형의 데이터를 임시 스토리지에 저장합니다. 또한, 임시 데이터 스토리지를 사용하여 대기열에 있는 작업을 백그라운드 작업자에게 분산합니다.
Salt 작동 방식에 대한 자세한 내용은 Salt 시스템 아키텍처를 참조하십시오.