SaltStack Config 파일 서버 및 Pillar 업무 공간에서 상태 파일 및 pillar 데이터를 생성하거나 업로드할 수 있습니다. 파일 서버를 사용하지 않으려는 경우 SaltStack Config는 외부 저장소(예: Git 저장소)에 대한 연결도 지원하며, 여기에 상태 파일 및 pillar 데이터를 저장할 수 있습니다.

상태 파일이란?

각 노드 또는 애플리케이션을 하나씩 수동으로 구성하는 대신 SaltStack Config 상태 관리 시스템을 사용하면 여러 노드에 동시에 적용할 수 있는 상태 파일을 생성할 수 있습니다. 이러한 상태 파일에는 노드에서 실행해야 하는 작업과 그 순서를 SaltStack Config에 알려주는 일련의 지침이 포함될 수 있습니다. 또한 어떤 구성 파일 또는 설정을 적용해야 하는지도 설명할 수 있습니다.

상태 파일을 작성하거나 수정한 후에는 이러한 상태 파일을 자동으로 실행하여 한 번에 여러 노드에 적용할 수 있습니다. 각 노드에 내재된 속성(예: 운영 체제)을 기반으로 노드를 대상으로 지정하거나 직접 정의한 사용자 지정 레이블을 기반으로 노드를 대상으로 지정할 수도 있습니다. 자세한 내용은 ISHPUBLMODULEMISSING.html#GUID-9CE7FDFB-5EF1-4B2B-8889-65DD82F9A4BA 항목을 참조하십시오.

또한 상태 관리 시스템은 각 노드가 가능한 한 적절하고 효율적으로 구성되도록 합니다. 구성에 편차가 생기면 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
이 상태 파일에는 세 가지 다른 Salt 실행 모듈을 실행하는 세 단계가 있습니다. 이 상태 파일이 미니언에 적용되면 SaltStack Config는 다음을 수행합니다.
  • 미니언에 Apache(httpd)를 설치합니다.
  • Apache 서비스를 시작합니다.
  • 미니언에서 호스팅되는 샘플 HTML 인덱스 페이지를 배포합니다.

pillar 데이터란?

참고: 중요한 정보를 위해 Pillar 데이터를 예약하는 것이 모범 사레이며 권장됩니다.
pillar는 Salt 마스터에 저장되고 데이터에 액세스할 수 있는 권한이 부여된 하나 이상의 미니언으로 전달되는 데이터 구조입니다. 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 실행 및 상태 모듈

  • 모든 모듈 목록에 대한 Salt 모듈 인덱스
  • 특정 요구 사항을 가장 잘 해결할 수 있는 모듈을 결정하는 데 도움이 필요하거나 특정 모듈 사용에 대한 질문이 있는 경우 SaltStack 커뮤니티 Slack 업무 공간에서 커뮤니티 지원을 요청할 수 있습니다.

pillar 데이터를 정의한 후 대상 업데이트를 클릭하고 대상 그룹을 선택한 다음 저장을 클릭하여 pillar 데이터를 미니언 시스템 그룹에 할당할 수 있습니다.

pillar 데이터가 특정 대상 시스템에 할당되고 상태 파일에 포함되면 해당 데이터는 마스터에 의해 각 미니언 시스템에 대해 처리되고 각 미니언에 대해 별도의 AES 키로 암호화됩니다. 이 키를 사용하면 상태 또는 오케스트레이션 파일 프로그램 중에 pillar 데이터를 대상 시스템으로 전송할 수 있습니다.

파일 서버에 상태 파일 추가

상태 파일을 작업에서 사용할 수 있도록 파일 서버에 추가하려면 다음을 수행합니다.

  1. 어떤 Salt 실행 또는 상태 모듈이 원하는 결과를 달성하는 데 도움이 될지 조사합니다. 요구 사항에 맞는 Salt 모듈을 찾으면 모듈의 설명서를 읽고 모듈의 매개 변수 및 기타 요구 사항을 숙지합니다.
  2. 선택 사항: 가장 좋은 방법은 선호하는 코드 편집기에서 상태 파일의 대략적인 초안을 작성하고 코드 린터(linter)를 사용하여 상태 파일이 올바른 형식의 구문을 사용하는지 확인하는 것입니다.
  3. SaltStack Config 사용자 인터페이스의 사이드 메뉴에서 구성 > 파일 서버를 클릭하여 파일 서버 업무 공간을 엽니다.
  4. 파일 서버 업무 공간을 처음 열면 파일 디렉토리와 빈 새 파일이 보입니다. 이 빈 파일을 사용하여 새 상태 파일을 생성하거나 코드 편집기에서 상태 파일을 복사합니다.
  5. Saltenv 메뉴를 클릭하고 상태 파일을 저장할 환경을 선택합니다. 어떤 환경을 선택해야 할지 확실하지 않으면 기본을 사용합니다.
  6. 경로 이름 필드에 파일 경로와 파일 이름을 파일 확장명 .sls로 끝나도록 입력합니다. 예를 들어 /my-directory/my-state-file.sls가 표시됩니다.
  7. 파일 본문에서 상태 파일 코드를 작성하거나 복사합니다. 예:
  8. 상태 파일을 저장하고 새 파일이 파일 서버 디렉토리에 나타나는지 확인합니다.

Salt 마스터에 pillar 데이터 추가

SaltStack Config Pillar 업무 공간을 사용하여 Salt 마스터에 pillar 데이터를 추가할 수 있지만 Salt 마스터에 직접 pillar 데이터를 추가하는 것이 더 쉬울 수 있습니다. 상태 파일에서 참조되거나 대상에 할당될 수 있도록 pillar 데이터를 추가하려면 다음 두 가지 방법 중 하나를 수행하면 됩니다.

  • Salt 마스터에 SSH로 연결하고 파일을 마스터에 추가하는 표준 Salt 절차를 사용하여 pillar 파일을 마스터의 디렉토리에 추가합니다. 자세한 내용은 PillarPillar 둘러보기를 참조하십시오.
  • SaltStack Config 사용자 인터페이스에서 Salt 러너 기능을 사용하는 salt-run 명령을 사용하여 Salt 마스터에 pillar 데이터를 추가하는 작업을 생성합니다. 자세한 내용은 작업은 어떻게 생성합니까? 항목을 참조하십시오.

다음 단계

미니언이 액세스할 수 있는 상태 파일 및 pillar 데이터를 생성한 후에는 SaltStack Config에서 생성하는 작업에서 해당 파일을 참조할 수 있습니다. 자세한 내용은 작업은 어떻게 생성합니까? 항목을 참조하십시오.