3.13. 룰북 활성화 생성 및 실행
이벤트 기반 Ansible에서 룰북 활성화는 특정 룰북을 실행하는 의사 결정 환경에서 정의된 백그라운드에서 실행되는 프로세스입니다.
3.13.1. 룰북 활성화 설정 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
- 프로젝트를 설정했습니다.
- 의사 결정 환경을 설정했습니다.
프로세스
-
탐색 패널에서
선택합니다. - 클릭합니다.
다음 정보를 입력합니다.
- name: 이름을 입력합니다.
- 설명: 이 필드는 선택 사항입니다.
- 조직: 이 필드는 선택 사항입니다.
- project: 이 필드는 선택 사항입니다.
- 룰북: 선택한 프로젝트에 따라 룰북이 표시됩니다.
인증 정보: 이 룰북 활성화를 위해 0개 이상의 인증 정보를 선택합니다. 이 필드는 선택 사항입니다.
참고이 필드에 표시되는 인증 정보는 룰북 활성화에 따라 사용자 지정되며 Vault, Red Hat Ansible Automation Platform 또는 생성한 모든 사용자 정의 인증 정보 유형만 포함합니다. 인증 정보에 대한 자세한 내용은 자동화 의사 결정 사용 가이드의 인증 정보를 참조하십시오.
의사 결정 환경: 의사 결정 환경은 Ansible 룰북을 실행하는 컨테이너 이미지입니다.
참고이벤트 기반 Ansible 컨트롤러에서는 의사 결정 환경의 가져오기 정책을 사용자 지정할 수 없습니다. 기본적으로 always 정책의 동작을 따릅니다. 활성화가 시작될 때마다 시스템은 최신 버전의 이미지를 가져오려고 합니다.
재시작 정책: 소스 플러그인을 실행하는 컨테이너 프로세스가 종료된 후 활성화를 다시 시작하는 방법을 결정하는 정책입니다. 다음 옵션 중에서 선택합니다.
- 항상: 성공적으로 종료되었는지 여부에 관계없이 룰북 활성화를 즉시 재시작하고 5회 이상 발생하지 않습니다.
- Never: 컨테이너 프로세스가 종료될 때 룰북 활성화를 재시작하지 않습니다.
- 실패 시: 컨테이너 프로세스가 실패한 경우에만 기본적으로 60초 후에 룰북 활성화를 재시작하고 5 번 이상 발생하지 않습니다.
Log level: 이 필드는 로그인한 이벤트의 심각도 및 콘텐츠 유형을 정의합니다. 다음 옵션 중 하나를 선택합니다.
- 오류: 활성화의 기록 탭에 표시되는 오류 메시지가 포함된 로그입니다.
- info: 성공 또는 실패, 트리거된 작업 이름 및 관련 작업 이벤트 및 오류와 같은 룰북 활성화에 대한 유용한 정보가 포함된 로그입니다.
- debug 단계에서만 유용하고 프로덕션 중에 값이 거의 없을 수 있는 정보가 포함된 로그입니다. 이 로그 수준에는 오류 및 로그 수준 데이터가 모두 포함됩니다.
- 서비스 이름: 활성화가 포트를 노출하는 경우 인바운드 연결을 구성하기 위해 Kubernetes의 서비스 이름을 정의합니다. 이 필드는 선택 사항입니다.
- 룰북 활성화가 활성화됩니까?: 룰북 활성화를 자동으로 활성화하려면 다음을 수행합니다.
-
variables : 룰북의 변수는 JSON 또는 YAML 형식입니다. 콘텐츠는 ansible-rulebook 명령의
--vars플래그를 통해 전달되는 파일과 동일합니다. - options: 규칙 감사에서 이벤트를 표시하지 않으려면 Skip 감사 이벤트 옵션을 확인합니다.
- 클릭합니다.
이제 룰북 활성화가 생성되고 규칙북 활성화 페이지에서 관리할 수 있습니다.
새 룰북 활성화를 저장하면 룰북 활성화의 세부 정보 페이지가 Pending, Running 또는 Failed 상태가 표시됩니다. 규칙북 활성화 목록 보기에서 다시 시작하거나 삭제할 수 있습니다.
경우에 따라 소스 플러그인이 종료되면 일정 시간 후에 룰북이 정상적으로 종료됩니다. 룰북 활성화가 종료되면 수행 대기 중인 작업이 취소되고 정보 수준 메시지가 활성화 로그로 전송됩니다. 자세한 내용은 규칙북 을 참조하십시오.
3.13.1.1. 룰북 활성화 목록 보기 링크 복사링크가 클립보드에 복사되었습니다!
규칙북 활성화 페이지에서 상태, 룰북 을 사용한 규칙 수, 불 수 및 다시 시작 카운트 와 함께 생성한 룰북 활성화를 볼 수 있습니다.
Status 가 Running 이면 룰북 활성화가 백그라운드에서 실행 중이고 룰북에 선언된 규칙에 따라 필요한 작업을 실행합니다.
규칙북 활성화 목록 보기에서 활성화를 선택하여 자세한 정보를 볼 수 있습니다.
실행된 모든 활성화의 경우 세부 정보 및 기록 탭을 보고 발생한 사항에 대한 자세한 정보를 얻을 수 있습니다.
3.13.2. 룰북 활성화 및 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
- 행 수준에서 스위치를 선택하여 선택한 룰북을 활성화하거나 비활성화합니다.
- 창에서 를 선택합니다.
- 을 선택합니다.
3.13.3. 룰북 활성화 다시 시작 링크 복사링크가 클립보드에 복사되었습니다!
현재 활성화되어 있는 경우에만 룰북 활성화를 다시 시작할 수 있으며 재시작 정책이 생성된 경우 Always 로 설정되었습니다.
프로세스
- Rulebook Activation enabled/disabled 토글 옆에 있는 아이콘을 선택합니다.
- 을 선택합니다.
- 창에서 를 선택합니다.
- 을 선택합니다.
3.13.4. 룰북 활성화 삭제 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
- Rulebook Activation enabled/disabled 토글 옆에 있는 아이콘을 선택합니다.
- 선택합니다.
- 창에서 를 선택합니다.
- 선택합니다.
3.13.5. Webhook 룰북 활성화 링크 복사링크가 클립보드에 복사되었습니다!
Openshift 환경에서는 룰북 활성화의 Kubernetes 서비스를 노출하는 경로를 생성하여 Webhook가 지정된 포트를 통해 activation-job-pod에 도달하도록 허용할 수 있습니다.
사전 요구 사항
- 룰북 활성화를 생성했습니다.
다음은 지정된 Webhook가 있는 룰북의 예입니다.
- name: Listen for storage-monitor events
hosts: all
sources:
- ansible.eda.webhook:
host: 0.0.0.0
port: 5000
rules:
- name: Rule - Print event information
condition: event.meta.headers is defined
action:
run_job_template:
name: StorageRemediation
organization: Default
job_args:
extra_vars:
message: from eda
sleep: 1
프로세스
서비스를 노출할 경로(OpenShift Container Platform)를 생성합니다. 다음은 의사 결정 환경 Pod에서 포트 5000에 POST가 예상되는 ansible-rulebook 소스의 경로 예제입니다.
kind: Route apiVersion: route.openshift.io/v1 metadata: name: test-sync-bug namespace: dynatrace labels: app: eda job-name: activation-job-1-5000 spec: host: test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com to: kind: Service name: activation-job-1-5000 weight: 100 port: targetPort: 5000 tls: termination: edge insecureEdgeTerminationPolicy: Redirect wildcardPolicy: None경로를 생성할 때 경로 URL에 대한 Post로 테스트합니다.
curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'참고Route(targetPort)에 지정되어 있으므로 포트가 필요하지 않습니다.