SaltStack Config에는 RaaS 서버, 마스터 플러그인 및 2개의 중앙 데이터베이스를 비롯한 4개 이상의 아키텍처 구성 요소가 포함됩니다.

참고: 문제가 되는 용어를 제거하려는 VMware 이니셔티브의 일환으로 Salt 마스터라는 용어는 SaltStack Config 및 관련 제품과 문서에서 더 나은 용어로 대체될 예정입니다. 용어 업데이트가 완전히 완료되기까지 몇 번의 릴리스 주기를 거칠 수 있습니다.

다음 다이어그램은 설치와 관련된 기본적인 SaltStack Config 아키텍처의 기본 구성 요소를 보여줍니다.

Salt 마스터 및 마스터 플러그인

SaltStack Config는 오픈 소스 구성 관리 및 자동화 시스템인 Salt를 통해 지원됩니다. Salt를 처음 사용하고 작동 방식에 익숙하지 않은 경우 Salt 시스템 아키텍처를 참조하십시오.

Salt 마스터는 SaltStack Config와 네트워크의 나머지 노드(미니언) 사이의 기본 연결입니다. SaltStack Config에서 명령(예: 작업)을 내리면 그 명령은 Salt 마스터로 이동하여 대상 미니언에 분포됩니다.

SaltStack Config는 필요에 따라 시스템에 있는 하나의 Salt 마스터 또는 여러 마스터에 연결할 수 있습니다. SaltStack Config가 Salt 마스터와 통신하려면 마스터에 마스터 플러그인이 설치되어 있어야 하며 SaltStack Config에서 해당 키를 수락해야 합니다. 마스터 플러그인을 통해 Salt 마스터는 SaltStack Config가 시작한 작업이나 프로세스는 물론 PostgreSQL 데이터베이스에 저장된 외부 파일 및 pillar 데이터에 액세스할 수 있습니다.

플러그인은 Salt에서 제공하는 기존 확장 지점과 통합됩니다. 예를 들어 작업 반환은 Salt 마스터 측 Salt 외부 작업 캐시를 사용하여 수집되고 RaaS 파일 서버는 Salt 파일 서버 플러그인을 사용합니다.

참고: 둘 이상의 Salt 마스터를 SaltStack Config에 연결할 수 있습니다. SaltStack Config에 연결되는 각 Salt 마스터에는 마스터 플러그인이 설치되어 있어야 합니다.

RaaS

RaaS(Returner as a Service)는 SaltStack Config의 중앙 구성 요소입니다. 실제로 SaltStack Config 자체를 말할 때 RaaS에 대해 언급하는 경우가 많습니다.

RaaS는 SaltStack Config 사용자 인터페이스에서 관리 명령을 수신하기 위한 RPC 끝점은 물론 연결된 Salt 마스터와의 상호 작용을 위한 RPC 제어 끝점을 제공합니다. 모든 통신은 WebSocket 또는 HTTP(s)를 통해 RPC API 호출을 사용하여 전송됩니다.

SaltStack Config 사용자 인터페이스

SaltStack Config 사용자 인터페이스는 RaaS용 그래픽 사용자 인터페이스 프런트 엔드를 제공하는 웹 애플리케이션입니다. SaltStack Config는 API 우선이지만 사용자 인터페이스는 API(RaaS)와 직접 상호 작용하여 환경의 모든 시스템을 간단하게 관리할 수 있습니다. 다양한 업무 공간을 통해 사용자에게 미니언, 사용자, 역할, 작업 등을 관리할 수 있는 기능을 제공합니다.

PostgreSQL 데이터베이스

RaaS는 PostgreSQL 데이터베이스를 사용하여 미니언 데이터, 작업 반환, 이벤트 데이터, 파일 및 pillar 데이터, 로컬 사용자 계정은 물론 사용자 인터페이스에 대한 추가 설정을 저장합니다.

Redis 데이터베이스

RaaS는 Redis 데이터베이스를 사용하여 캐시된 데이터와 같은 특정 유형의 데이터를 임시 스토리지에 저장합니다. 또한, 임시 데이터 스토리지를 사용하여 대기열에 있는 작업을 백그라운드 작업자에게 분산합니다.