SaltStack Config 파일 서버 및 Pillar 업무 공간에서 상태 파일 및 pillar 데이터를 생성하거나 업로드할 수 있습니다. 파일 서버를 사용하지 않으려는 경우 SaltStack Config는 외부 저장소(예: Git 저장소)에 대한 연결도 지원하며, 여기에 상태 파일 및 pillar 데이터를 저장할 수 있습니다.
상태 파일이란?
각 노드 또는 애플리케이션을 하나씩 수동으로 구성하는 대신 SaltStack Config 상태 관리 시스템을 사용하면 여러 노드에 동시에 적용할 수 있는 상태 파일을 생성할 수 있습니다. 이러한 상태 파일에는 노드에서 실행해야 하는 작업과 그 순서를 SaltStack Config에 알려주는 일련의 지침이 포함될 수 있습니다. 또한 어떤 구성 파일 또는 설정을 적용해야 하는지도 설명할 수 있습니다.
상태 파일을 작성하거나 수정한 후에는 이러한 상태 파일을 자동으로 실행하여 한 번에 여러 노드에 적용할 수 있습니다. 각 노드에 내재된 속성(예: 운영 체제)을 기반으로 노드를 대상으로 지정하거나 직접 정의한 사용자 지정 레이블을 기반으로 노드를 대상으로 지정할 수도 있습니다. 자세한 내용은 대상을 생성하는 방법 항목을 참조하십시오.
또한 상태 관리 시스템은 각 노드가 가능한 한 적절하고 효율적으로 구성되도록 합니다. 구성에 편차가 생기면 SaltStack Config는 노드 및 애플리케이션의 구성을 규정 준수 상태로 되돌릴 수 있습니다. 구성을 변경해야 하는 경우 SaltStack Config는 해당 변경 사항을 영향을 받는 노드에 신속하게 배포할 수 있습니다.
상태 파일의 예
상태 파일은 일반적으로 YAML 및 Jinga로 작성되지만 JSON과 같은 다른 형식도 Salt와 호환됩니다. 일반적인 상태 파일은 다음과 같습니다.
install_apache: pkg.installed: - name: httpd ensure_service_running: service.running: - name: httpd - watch: - pkg: install_apache default_html_page: file.managed: - name: /var/www/html/index.html - source: salt://apache/index.html
- 미니언에 Apache(httpd)를 설치합니다.
- Apache 서비스를 시작합니다.
- 미니언에서 호스팅되는 샘플 HTML 인덱스 페이지를 배포합니다.
pillar 데이터란?
- pillar는 암호 및 구성 설정과 같은 중요한 개인 데이터에 대한 사용자 액세스를 제한할 수 있습니다. 예를 들어 pillar를 사용하면 외부 서비스에 대한 인증이 필요한 작업을 사용자가 인증 자격 증명에 직접 액세스하지 않고도 실행이 가능하도록 허용할 수 있습니다. 이런 경우 사용자에게 특정 작업 및 대상에 대한 액세스 권한을 할당하고 중요한 인증 세부 정보가 포함된 pillar에 대한 액세스 권한은 할당하지 않습니다.
- pillar는 데이터를 요청하는 미니언 또는 컨텍스트를 기반으로 변경되는 데이터를 전송할 수 있습니다. 예를 들어 서로 다른 미니언에 서로 다른 암호를 할당하고 모든 암호를 하나의 pillar 파일에 저장할 수 있습니다. 그런 다음 여러 파일을 생성하거나 여러 위치에 암호를 저장할 필요 없이 파일에서 고유한 암호를 조회하도록 미니언에 지시하는 상태 파일을 작성할 수 있습니다.
SaltStack Config Pillar 저장소에 저장된 데이터는 특정 SaltStack Config 인스턴스와 연결된 Raas 암호화 키(예: "/etc/raas/pki/.raas.key")를 사용하여 암호화됩니다. Pillar 데이터는 SaltStack Config UI에 정의된 후 이 키로 암호화되고 PostgreSQL 데이터베이스에 저장됩니다. 이 키는 SaltStack Config UI에 표시하기 위해 데이터의 암호를 해독하는 데에도 사용됩니다.
pillar 파일의 예
pillar 파일은 일반적으로 YAML 및 Jinga로 작성되지만 JSON과 같은 다른 형식도 Salt와 호환됩니다. pillar 데이터는 사전으로 저장되며 키-값 쌍을 사용하여 값을 조회합니다. 일반적인 pillar 파일은 다음과 같습니다.
pillar1: value pillar2: - value - value pillar3: sub_key: - value - value
이 예에서는 pillar 데이터의 형식을 지정하는 세 가지 방법을 보여줍니다. 요구 사항과 저장해야 하는 데이터 유형에 따라 사용하기로 선택하는 구문이 달라집니다.
시작하기 전에
SaltStack Config는 Salt를 기반으로 하기 때문에 Salt 및 이러한 기능과 관련된 개념에 대한 기본 실무 지식이 있으면 도움이 됩니다. 다음 표에는 자세한 정보를 얻을 수 있는 몇 가지 유용한 리소스가 나열되어 있습니다.
주제... | 참조 항목... |
---|---|
Salt 작업의 기본 사항 |
|
Salt 상태 |
|
pillar 데이터 |
|
Salt 실행 및 상태 모듈 |
|
pillar 데이터를 정의한 후 대상 업데이트를 클릭하고 대상 그룹을 선택한 다음 저장을 클릭하여 pillar 데이터를 미니언 시스템 그룹에 할당할 수 있습니다.
pillar 데이터가 특정 대상 시스템에 할당되고 상태 파일에 포함되면 해당 데이터는 마스터에 의해 각 미니언 시스템에 대해 처리되고 각 미니언에 대해 별도의 AES 키로 암호화됩니다. 이 키를 사용하면 상태 또는 오케스트레이션 파일 프로그램 중에 pillar 데이터를 대상 시스템으로 전송할 수 있습니다.
파일 서버에 상태 파일 추가
상태 파일을 작업에서 사용할 수 있도록 파일 서버에 추가하려면 다음을 수행합니다.
- 어떤 Salt 실행 또는 상태 모듈이 원하는 결과를 달성하는 데 도움이 될지 조사합니다. 요구 사항에 맞는 Salt 모듈을 찾으면 모듈의 설명서를 읽고 모듈의 매개 변수 및 기타 요구 사항을 숙지합니다.
- 선택 사항: 가장 좋은 방법은 선호하는 코드 편집기에서 상태 파일의 대략적인 초안을 작성하고 코드 린터(linter)를 사용하여 상태 파일이 올바른 형식의 구문을 사용하는지 확인하는 것입니다.
- SaltStack Config 사용자 인터페이스의 사이드 메뉴에서 구성 > 파일 서버를 클릭하여 파일 서버 업무 공간을 엽니다.
- 파일 서버 업무 공간을 처음 열면 파일 디렉토리와 빈 새 파일이 보입니다. 이 빈 파일을 사용하여 새 상태 파일을 생성하거나 코드 편집기에서 상태 파일을 복사합니다.
- Saltenv 메뉴를 클릭하고 상태 파일을 저장할 환경을 선택합니다. 어떤 환경을 선택해야 할지 확실하지 않으면 기본을 사용합니다.
- 경로 이름 필드에 파일 경로와 파일 이름을 파일 확장명
.sls
로 끝나도록 입력합니다. 예를 들어/my-directory/my-state-file.sls
가 표시됩니다. - 파일 본문에서 상태 파일 코드를 작성하거나 복사합니다. 예:
- 상태 파일을 저장하고 새 파일이 파일 서버 디렉토리에 나타나는지 확인합니다.
Salt 마스터에 pillar 데이터 추가
SaltStack Config Pillar 업무 공간을 사용하여 Salt 마스터에 pillar 데이터를 추가할 수 있지만 Salt 마스터에 직접 pillar 데이터를 추가하는 것이 더 쉬울 수 있습니다. 상태 파일에서 참조되거나 대상에 할당될 수 있도록 pillar 데이터를 추가하려면 다음 두 가지 방법 중 하나를 수행하면 됩니다.
- Salt 마스터에 SSH로 연결하고 파일을 마스터에 추가하는 표준 Salt 절차를 사용하여 pillar 파일을 마스터의 디렉토리에 추가합니다. 자세한 내용은 Pillar 및 Pillar 둘러보기를 참조하십시오.
- SaltStack Config 사용자 인터페이스에서 Salt 러너 기능을 사용하는
salt-run
명령을 사용하여 Salt 마스터에 pillar 데이터를 추가하는 작업을 생성합니다. 자세한 내용은 작업은 어떻게 생성합니까? 항목을 참조하십시오.
다음 단계
미니언이 액세스할 수 있는 상태 파일 및 pillar 데이터를 생성한 후에는 SaltStack Config에서 생성하는 작업에서 해당 파일을 참조할 수 있습니다. 자세한 내용은 작업은 어떻게 생성합니까? 항목을 참조하십시오.