작업은 원격 실행 작업을 실행하고 상태를 적용하고 Salt 러너를 시작하는 데 사용됩니다. 작업 업무 공간에서는 재사용을 위해 작업 설정을 생성, 구성 및 저장할 수 있습니다. 작업은 일반적으로 자동화 및 여러 번 실행이 필요한 시스템 운영에 사용하여 구성 시간을 절약할 수 있습니다.
예를 들어 가상 시스템을 생성 및 배포하고 기본적인 애플리케이션 집합을 설치하는 작업이 있을 수 있습니다. 새 가상 시스템 배포가 필요할 때마다 이 작업을 실행하여 모든 배포에 일련의 동일한 애플리케이션 및 구성이 적용되도록 할 수 있습니다.
작업 업무 공간을 SaltStack Config의 다른 업무 공간과 함께 사용하여 구성 관리를 위한 작업을 생성하고 사용하는 방법에 대한 개요는 SaltStack Config 작업 워크플로를 참조하십시오.
작업은 작업의 특성에 따라 작업 업무 공간, 미니언 업무 공간 또는 SaltStack Config 사용자 인터페이스의 다양한 화면에서 실행할 수 있습니다. 또한 정기적인 스케줄에 따라 작업을 실행하거나 필요한 경우에만 실행할 수도 있습니다. 일반적으로 필요한 경우에만 실행되는 작업은 임시 작업이라고 합니다.
작업 실행에 대한 자세한 내용은 다음 항목을 참조하십시오.
- 작업 실행 - 작업 업무 공간에서 작업 실행에 대한 자세한 내용
- 미니언 - 미니언 업무 공간에서 작업 실행에 대한 자세한 내용
- 스케줄 - 스케줄에 따른 작업 실행에 대한 자세한 내용
작업 요구 사항
작업 업무 공간의 각 작업에는 미리 정의된 설정이 있습니다. 기존 작업의 설정을 편집하거나 고유한 설정으로 새 작업을 생성할 수 있습니다.
작업을 실행할 수 있으려면 다음을 포함해야 합니다.
- 함수 - 작업(job)을 통해 수행해야 하는 작업(task)
- 하나의 대상, Salt 마스터 또는 여러 Salt 마스터
- 역할 기반 사용 권한
작업의 설정에서 대상을 정의하거나, 대상을 정의하지 않은 상태로 두고 작업이 실행될 때마다 대상을 선택할 수 있습니다. 작업의 대상을 정의하면 작업을 실행하지 말아야 하는 노드에서 해당 작업이 실행되지 않도록 할 수도 있습니다. 자세한 내용은 미니언을 참조하십시오.
작업 업무 공간에서는 각 작업에 대한 역할 기반 액세스를 정의할 수 있습니다. 작업에 대한 역할 액세스를 정의하는 것 외에, 역할 편집기에서 해당 작업을 실행하기 위한 역할 사용 권한도 할당해야 합니다. 자세한 내용은 역할 및 사용 권한을 참조하십시오.
작업 업무 공간에서는 새 작업을 생성하고 기존 작업을 편집할 수 있습니다. 작업 설정이 정의되면 임시 작업을 실행하거나 나중에 작업을 실행하기 위한 스케줄을 생성할 수 있습니다. 자세한 내용은 스케줄을 참조하십시오.
SaltStack Config에는 재사용 가능한 작업을 정의하지 않고 단일 명령을 실행할 수 있는 명령 실행 컨트롤이 포함되어 있습니다. 명령을 빠르게 실행하거나 일상적인 워크플로(예: 문제 해결 시 또는 초기 구성 중)에 속하지 않는 일회성 작업을 실행하는 데 유용합니다. 자세한 내용은 명령 실행을 참조하십시오.
다양한 작업을 보고, 편집하고, 실행하고, 삭제할 수 있는 역할을 정의할 수도 있습니다.
작업 업무 공간에 액세스
작업 업무 공간을 사용하려면 사이드 메뉴에서 구성 > 작업을 클릭합니다.
작업 생성
새 작업을 생성하려면:
- 작업 업무 공간에서 작업 생성을 클릭합니다.
- 새 작업에 대한 세부 정보를 입력합니다. 입력할 세부 정보는 생성하려는 작업의 유형에 따라 다릅니다. 자세한 내용은 작업 설정 항목을 참조하십시오.
- 저장을 클릭합니다. 이제 작업을 실행할 수 있습니다.
작업 실행
임시 작업을 실행하려면:
- 작업 업무 공간에서 실행하려는 작업 옆에 있는 메뉴()를 클릭합니다.
- 지금 실행을 클릭합니다.
- 팝업에서 작업을 실행할 대상을 선택합니다.
참고: 작업이 대상 또는 Salt 마스터를 포함하도록 구성된 경우 확인을 위해 표시됩니다.
- 필요한 경우 추가 옵션을 선택합니다.
- 알림 기본 설정 설정
- 필요한 경우 [테스트로 실행](모의 실행)을 선택하여 작업을 테스트로 실행합니다.
- 지금 실행을 클릭합니다.
참고: 미니언 업무 공간에서 작업을 실행할 수도 있습니다. 미니언을 참조하십시오.
작업 검색
지금까지 생성된 사용 가능한 작업 목록을 보려면 작업 업무 공간에 액세스합니다.
기본적으로 작업은 한 페이지에 한 번에 20개만 표시됩니다. 작업을 더 많이 보려면 작업 테이블의 맨 아래에서 페이지당 항목 수 메뉴를 클릭하고 보려는 작업 수를 선택합니다.
특정 작업을 찾으려면:
- 작업 업무 공간에서 검색하려는 열의 필터 버튼()을 클릭합니다.
- 검색 기준을 입력하기 시작하면 행 필터를 즉시 볼 수 있습니다. 예를 들어 함수 열을 필터링하여 작업과 관련된 Salt 모듈로 작업을 검색할 있습니다.
참고: 열 이름을 한 번 클릭하여 내림차순으로 행을 정렬할 수도 있습니다. 순서를 반대로 하려면 다시 클릭합니다. 필터링에 대한 자세한 내용은 테이블 열 필터링 및 정렬 항목을 참조하십시오.
테이블 열 필터링 및 정렬
필터 아이콘()을 선택하고 필터링 기준을 선택하거나 입력하여 각 열을 필터링할 수 있습니다. 필터를 지우려면 작업 테이블 위에 있는 필터 지우기 버튼을 클릭합니다.
열 이름을 선택하여 열을 정렬할 수도 있습니다. 테이블에 표시되는 열을 사용자 지정하려면 테이블의 왼쪽 아래 모서리에 있는 열 표시 버튼()을 클릭합니다.
작업 반환 보기
작업 반환을 보려면:
- 사이드 메뉴에서 활동을 클릭한 다음 완료됨을 클릭하여 완료된 작업 목록을 확인합니다.
- JID 열에서 작업 ID를 선택하여 작업 반환 세부 정보를 봅니다. 자세한 내용은 작업 반환을 참조하십시오.
작업 편집
작업을 업데이트하거나 변경하려면:
- 작업 업무 공간에서 작업을 선택합니다.
- 필요에 따라 작업 세부 정보를 편집하고 완료되면 저장을 클릭합니다.
작업 사용 권한 정의
관리자는 특정 작업을 실행할 수 있는 사용자를 제한할 수 있습니다. 이러한 사용 권한을 정의하려면:
- 작업 업무 공간에서 작업을 선택하여 작업 세부 정보를 엽니다.
- 작업 세부 정보 페이지에서 역할 액세스를 클릭합니다.
- 대화상자에서 여러 역할에 대해 사용하도록 설정할 액세스 수준을 선택하고 저장을 클릭합니다.
- 작업 세부 정보 페이지에서 저장을 클릭합니다.
참고: 작업에 대한 역할 액세스를 정의하는 것 외에, 역할 편집기에서 해당 작업을 실행하기 위한 역할 사용 권한도 할당해야 합니다. 자세한 내용은 역할 및 사용 권한을 참조하십시오.
작업 설정
다음 옵션을 기반으로 작업 설정을 정의합니다.
- 이름 - 작업 이름을 입력합니다. 작업, 미니언, 활동 업무 공간과 역할 편집기에 표시됩니다.
- 설명 - 작업에 대한 설명을 입력합니다(선택 사항). 이 설명은 작업 업무 공간의 작업 목록에 표시됩니다.
- 명령 - 실행할 명령을 다음 중에서 선택하여 지정합니다.
-
salt
- 미니언의 대상 그룹에서 실행할 작업을 정의합니다. -
salt-run
- Salt 마스터 하나 또는 Salt 마스터 그룹에서 실행할 작업을 정의합니다.
참고: SaltStack Config에는 재사용 가능한 작업을 정의하지 않고 단일 명령을 실행할 수 있는 명령 실행 컨트롤이 포함되어 있습니다. 명령을 빠르게 실행하거나 일상적인 워크플로(예: 문제 해결 시 또는 초기 구성 중)에 속하지 않는 일회성 작업을 실행하는 데 유용합니다. 자세한 내용은 명령 실행을 참조하십시오. -
- 대상 - 대상은 작업의 Salt 명령이 적용되는 미니언 그룹(하나 또는 여러 Salt 마스터에 걸쳐 있음)입니다. Salt 마스터는 미니언처럼 관리될 수 있으며 미니언 서비스를 실행하는 경우 대상이 될 수도 있습니다. 명령에서
salt
를 선택하면 작업을 실행할 대상 미니언 그룹을 선택적으로 지정할 수 있습니다. 필드를 비워두면 작업이 실행될 때마다 대상을 선택하라는 메시지가 표시됩니다. - 모든 마스터 - Salt 마스터는 미니언에 명령을 내리는 데 사용되는 중앙 노드입니다. 명령에서
salt-run
을 선택하면 작업을 실행할 Salt 마스터를 지정할 수 있습니다. 기본적으로 모든 마스터가 선택되어 있습니다. 이 옵션을 끄면 마스터 메뉴가 나타납니다.salt-run
작업은 Salt 러너라고도 합니다. Salt 러너는 Salt 마스터에서 편의 기능을 실행하는 데 사용되는 모듈입니다.salt-run
사용에 대한 자세한 내용은 작업 설정 항목을 참조하십시오. - Salt 마스터 - 명령에서
salt-run
을 선택하고 모든 마스터를 끄면 마스터 메뉴가 나타납니다. 이 메뉴를 클릭하고 작업을 실행할 특정 Salt 마스터를 선택합니다. 필요한 경우 여러 Salt 마스터를 선택할 수 있습니다. - 함수 - 작업을 실행하면 어떻게 되는지를 정의하는 함수를 입력합니다. 단일 원격 실행 작업, 상태 파일 작업 또는 Salt 러너 작업을 정의할 수 있습니다. Salt 함수 목록은 Salt 모듈 참조를 확인하십시오.
- 단일 원격 실행 작업 - 단일 원격 실행 작업을 정의하려면 함수 및 필요한 인수를 작업 설정에 포함합니다.
- 상태 파일 작업 - 상태 파일 작업은 상태를 대상에 적용하며 하나 이상의 명령을 기반으로 할 수 있습니다. 상태 함수는 특정 상태를 시스템에 적용하는 것을 관리할 수 있는 상태 모듈 내부에 포함된 함수입니다. 상태 함수는 지정된 작업을 수행하기 위해 하나 이상의 실행 모듈을 자주 호출합니다. highstate는 top 파일에 정의된 모든 상태를 적용합니다. 상태 파일은 파일 서버에서 보고 추가할 수 있습니다. 파일 서버를 참조하십시오.
상태 파일을 작업에 적용하려면
state.apply
함수를 사용합니다. highstate를 수행하려면 작업 설정에서state.apply
또는state.highstate
함수를 사용합니다.상태 호출을 작업에 추가하면 적용할 상태 파일을 선택할 수 있는 추가 필드가 표시됩니다. 선택적 pillar 재정의를 JSON 형식으로 전달할 수도 있습니다.
참고: 작업 페이지에 제공된 pillar 데이터는 작업과 함께 전송되며 인증된 다른 미니언이 해당 데이터를 볼 수 있습니다. 데이터 보호 강화를 위해 중요 데이터는 표준 pillar에 할당합니다. 자세한 내용은 pillar를 참조하십시오.Salt 상태에 대한 자세한 내용은 Salt 설명서: Salt 상태를 사용하는 방법을 참조하십시오.
- Salt 러너 -
salt-run
작업은 Salt 마스터 하나 또는 Salt 마스터 그룹에 적용됩니다.salt-run
작업은 Salt 러너라고도 합니다. Salt 러너는 Salt 마스터에서 편의 기능을 실행하는 데 사용되는 모듈입니다. Salt 러너를 사용하면 오케스트레이션을 실행하고 원격으로 미니언 전원을 켜고 webhook를 호출하는 등의 작업을 수행할 수 있습니다. 중앙에서 또는 중앙의 시작 지점에서 작업을 실행하는 데 유용합니다. 예를 들어, 특정 Salt 마스터와 연결된 모든 미니언에 highstate를 적용할 수 있습니다.오케스트레이션 러너 작업을 구성하려면
state.orchestrate
함수를 사용합니다. 오케스트레이션 호출을 작업에 추가하면 적용할 오케스트레이션 파일을 나열할 수 있는 추가 필드가 표시됩니다. 선택적 pillar 재정의를 JSON 형식으로 전달할 수도 있습니다.참고: 작업 페이지에 제공된 pillar 데이터는 작업과 함께 전송되며 인증된 다른 미니언이 해당 데이터를 볼 수 있습니다. 데이터 보호 강화를 위해 중요 데이터는 표준 pillar에 할당합니다. 자세한 내용은 pillar를 참조하십시오.Salt 러너에 대한 자세한 내용은 Salt 러너 참조를 확인하십시오.
- 환경 - 상태 또는 오케스트레이션 파일이 있는 환경을 선택합니다. 파일 서버에 있는 루트 디렉토리의 하위 디렉토리입니다. 파일 서버를 참조하십시오.
- 테스트(모의 실행) - 테스트 작업을 실행하고 모의 작업 반환을 생성합니다. 테스트를 선택하면 작업이 실행되지 않고 변경되지 않습니다. 이 옵션을 선택하지 않은 상태로 두면 나중에 작업을 실행할 때 테스트로 실행하도록 선택할 수 있습니다. 테스트(모의 실행)는 특정 함수에만 사용할 수 있습니다. 자세한 내용은 관리자에게 문의하십시오.