Ansible Automation Platform 시작하기
Ansible Automation Platform 시작하기
초록
머리말
Red Hat Ansible Automation Platform은 프로비저닝, 구성 관리, 애플리케이션 배포, 오케스트레이션, 보안 및 규정 준수 변경(패치 시스템 포함)을 포함하여 다양한 IT 프로세스를 자동화하는 통합 자동화 솔루션입니다.
Ansible Automation Platform은 중앙 집중식 인증을 설정하고, 액세스 관리를 구성하고, 단일 위치에서 자동화 작업을 실행할 수 있는 플랫폼 인터페이스를 제공합니다.
이 가이드에서는 자동화 실행, 자동화 결정 및 자동화 콘텐츠 세 가지 주요 개념을 도입하여 Ansible Automation Platform을 시작하는 데 도움이 됩니다.
Red Hat 문서에 관한 피드백 제공
이 문서를 개선하기 위한 제안이 있거나 오류를 찾을 수 있는 경우 https://access.redhat.com 에서 기술 지원에 문의하여 요청을 열 수 있습니다.
1장. 주요 기능 및 개념
Ansible Automation Platform을 사용하면 사용자, 팀 및 리전 전반에서 조직에 대한 자동화를 생성, 관리 및 확장할 수 있습니다. 자세한 내용은 Ansible Automation Platform의 다음 기능 및 개념을 참조하십시오.
Ansible Automation Platform 2.5 릴리스에는 플랫폼의 각 부분과 상호 작용하고 관리할 수 있는 업데이트된 UI(통합 사용자 인터페이스)가 도입되었습니다.
플랫폼 게이트웨이는 Ansible Automation Platform에 대한 인증 및 권한 부여를 처리하는 서비스입니다. Ansible Automation Platform에 단일 항목을 제공하고 플랫폼 사용자 인터페이스를 제공하므로 단일 위치에서 모든 Ansible Automation Platform 서비스를 인증하고 액세스할 수 있습니다.
1.1. 활동 스트림
플랫폼 게이트웨이에는 조직, 사용자 및 서비스 클러스터의 생성 또는 수정과 같은 플랫폼 게이트웨이 리소스에 대한 변경 사항을 캡처하는 활동 스트림이 포함되어 있습니다. 각 변경 사항에 대해 활동 스트림은 변경 시간, 변경을 시작한 사용자, 수행된 동작 및 가능한 경우 개체에 대한 실제 변경 사항에 대한 정보를 수집합니다. 수집된 정보는 변경 유형에 따라 다릅니다.
API에서 활동 스트림에 의해 캡처된 세부 정보에 액세스할 수 있습니다.
/api/gateway/v1/activitystream/
/api/gateway/v1/activitystream/
1.2. 자동화 실행
Ansible Automation Platform의 핵심은 자동화 실행 명령 및 제어 센터로, 기업 전반에 걸쳐 자동화를 배포, 정의, 운영, 확장 및 위임할 수 있습니다. 이 기능을 사용하면 단순하고 간단한 웹 UI에서 플레이북 실행, 대시보드 활동 모니터링 및 중앙 집중식 로깅과 같은 단일 위치에서 다양한 작업을 수행하여 작업 실행을 관리하고 추적할 수 있습니다.
자동화 실행 환경에서는 자동화 컨트롤러 작업을 사용하여 작업 템플릿을 빌드하여 자동화 배포, 시작 및 위임 방법을 표준화하여 재사용 가능하고 일관성을 높일 수 있습니다.
1.2.1. 인벤토리
인벤토리는 일반적으로 INI 또는 YAML 형식의 단일 파일로, Ansible 명령 및 플레이북을 사용하여 작업할 수 있는 호스트 및 그룹 목록을 포함합니다. 인벤토리 파일을 사용하여 설치 시나리오를 지정하고 Ansible에 대한 호스트 배포를 설명할 수 있습니다. 인벤토리 파일을 사용하여 관리 노드를 Ansible에 시스템 정보 및 네트워크 위치를 제공하는 중앙 집중식 파일로 구성할 수도 있습니다.
1.3. 자동화 콘텐츠
Automation Hub는 Ansible Automation Platform 콘텐츠의 중앙 위치입니다. 자동화 허브에서는 자동화 환경에 다운로드하고 통합할 수 있는 콘텐츠 컬렉션을 찾을 수도 있습니다. 또한 사용자에게 배포할 자체 콘텐츠를 생성하고 업로드할 수도 있습니다.
Ansible Content Collection은 자동화를 위한 즉시 사용 가능한 툴킷이며 역할, 모듈, 플레이북, 플러그인을 모두 한 곳에 포함하여 여러 유형의 콘텐츠를 포함할 수 있습니다.
다음 두 가지 방법 중 하나로 자동화 허브에 액세스할 수 있습니다.
- Red Hat 호스팅 하이브리드 클라우드 콘솔에서 는 플랫폼 환경과 동기화할 수 있는 Red Hat 검증 또는 인증된 컨텐츠를 찾을 수 있습니다.
- 자체 호스팅 온프레미스 프라이빗 자동화 허브에서 자동화 사용자를 위한 콘텐츠를 선별하고 컬렉션 및 실행 환경에 대한 액세스를 관리할 수 있습니다.
자동화 허브에 액세스하는 방법에 따라 다양한 유형의 콘텐츠 컬렉션에 액세스할 수 있습니다.
Red Hat Ansible 콘텐츠에는 다음 두 가지 유형이 있습니다.
- Red Hat이 빌드, 지원 및 유지 관리하는 Ansible 인증 콘텐츠 컬렉션. 인증된 컬렉션은 Red Hat Ansible Automation Platform 서브스크립션에 포함되어 있으며 자동화 허브에서 확인할 수 있습니다.
- 사용자 정의 가능한 Ansible 검증 콘텐츠 컬렉션은 지원 보장이 없지만 Ansible Automation Platform 환경에서 테스트되었습니다.
Ansible 콘텐츠에 대한 자세한 내용은 자동화 개발자로 시작하기 의 자동화 콘텐츠 생성 을 참조하십시오.
1.3.1. Ansible 역할
Ansible 역할을 사용하면 팀이 더 효율적으로 작업할 수 있고 중복 작업을 방지할 수 있는 재사용 가능한 자동화 콘텐츠를 생성할 수 있습니다. 역할을 사용하면 플레이북, 구성 파일, 템플릿, 작업 및 처리기와 같은 광범위한 기존 자동화 콘텐츠를 그룹화하여 재사용하고 다른 사용자와 공유할 수 있는 사용자 지정 자동화 콘텐츠를 생성할 수 있습니다.
또한 역할을 호출할 때 사용자가 설정할 수 있는 변수를 공개하여 조직의 요구 사항에 따라 시스템을 구성할 수도 있습니다.
역할은 일반적으로 Ansible 콘텐츠 컬렉션에 포함됩니다.
추가 리소스
자세한 내용은 Ansible 역할이 포함된 번들 콘텐츠를 참조하십시오.
1.3.2. Ansible Playbook
Playbook은 사용자가 읽을 수 있는 특정 명령 또는 단일 대상 또는 대상 그룹에서 실행되도록 보내는 "플레이"가 포함된 YAML 파일입니다. Ansible 플레이북은 복잡한 애플리케이션을 배포하도록 설계된 반복 가능하고 재사용 가능한 구성 관리 툴입니다.
플레이북을 사용하여 원격 시스템에 대한 구성 및 배포를 관리하여 롤링 업데이트와 관련된 다중 계층 롤아웃을 시퀀스할 수 있습니다. 플레이북을 사용하여 모니터링 서버 및 로드 밸런서와 상호 작용하여 작업을 다른 호스트에 위임합니다.
작성된 후에는 엔터프라이즈 전체에서 자동화를 위해 플레이북을 사용하고 다시 사용할 수 있습니다. 예를 들어 작업을 두 번 이상 실행해야 하는 경우 플레이북을 작성하고 소스 제어에 배치합니다. 그런 다음 플레이북을 사용하여 새 구성을 내보내거나 원격 시스템의 구성을 확인할 수 있습니다.
Ansible 플레이북은 구성을 선언하고, 여러 시스템에서 수동으로 정렬된 프로세스의 단계를 정의된 순서로 오케스트레이션하거나, 작업을 동기적으로 또는 비동기적으로 시작할 수 있습니다.
Ansible의 상속 AI 서비스인 Red Hat Ansible Lightspeed를 사용하여 필요에 맞는 플레이북을 생성하고 개발할 수도 있습니다. 자세한 내용은 Ansible Lightspeed 설명서 를 참조하십시오.
1.4. 자동화 결정
Red Hat Ansible Automation Platform에는 시스템의 이벤트 스트림을 수신 대기하고 대상 자동화 작업에 지정한 이벤트에 대응하는 자동화 엔진인 이벤트 기반 Ansible이 포함되어 있습니다. 이러한 방식으로 이벤트 기반 Ansible은 일상적인 자동화 작업과 응답을 관리하므로 더 복잡한 작업에 대한 작업을 수행할 수 있습니다.
이벤트 기반 Ansible 컨트롤러를 통해 관리되는 Ansible 룰북은 자동화 결정을 위한 프레임워크입니다. Ansible 룰북은 규칙 세트 컬렉션으로, 하나 이상의 소스, 규칙 및 조건으로 구성됩니다. 룰북은 시스템에서 플래그할 이벤트와 이에 대응하는 방법을 알려줍니다. 플랫폼 사용자 인터페이스의 자동화 의사 결정 섹션에서 룰북을 사용하여 이벤트 소스를 연결 및 청취하고 특정 이벤트에 대한 응답으로 트리거되는 작업을 정의할 수 있습니다.
추가 리소스
룰북, 이벤트 및 소스에 대한 자세한 내용은 규칙북 작업을 참조하십시오.
1.5. 자동화 메시
자동화 메시는 기존 연결을 사용하여 실행 노드 컬렉션에서 자동화를 쉽게 배포하기 위한 오버레이 네트워크입니다. 실행 노드는 Ansible 플레이북이 실제로 실행되는 위치입니다. 노드는 자동화 실행 환경을 실행하여 Ansible 플레이북을 실행합니다. 자동화 메시는 이러한 실행 노드 간에 피어 투 피어 연결을 생성하여 자동화 워크로드의 복원력을 네트워크 대기 시간 및 연결 중단으로 늘립니다. 또한 보다 유연한 아키텍처를 허용하고 신속하고 독립적인 제어 및 실행 용량을 제공합니다.
1.6. Red Hat Ansible Lightspeed
IBM watsonx Code Assistant를 사용하는 Red Hat Ansible Lightspeed는 Ansible 플랫폼 엔지니어 및 개발자를 위해 설계 및 설계된 강력한 AI 서비스입니다. 사용자가 입력한 자연어 프롬프트를 수락한 다음 IBM watsonx 기반 모델과 상호 작용하여 Ansible 모범 사례를 기반으로 하는 코드 권장 사항을 생성합니다.
IBM watsonx Code Assistant를 사용하는 Red Hat Ansible Lightspeed는 자동화 팀이 Red Hat Ansible Automation Platform 콘텐츠를 보다 효율적으로 학습, 생성 및 유지 관리할 수 있도록 지원합니다.
1.7. Ansible 개발 툴
Ansible 개발 툴은 모든 기술 수준에서 IT 실무자가 수동 코딩을 통해 자동화 콘텐츠를 더 빠르게 생성할 수 있도록 지원하는 통합 기능 제품군입니다. Ansible 개발 툴을 사용하면 권장 사례를 사용하여 플레이북, 실행 환경 및 컬렉션과 같은 자동화 콘텐츠를 빠르고 정확하게 생성, 테스트 및 배포할 수 있습니다. Ansible 개발 툴을 사용하여 자동화 콘텐츠를 생성하는 방법에 대한 자세한 내용은 자동화 콘텐츠 개발 설명서를 참조하십시오.
1.8. Ansible Automation Platform 설치 및 구성
Red Hat Ansible Automation Platform은 유연한 설치 및 구성 옵션을 제공합니다. 조직의 요구에 따라 환경에 따라 다음 방법 중 하나를 사용하여 Red Hat Ansible Automation Platform을 설치할 수 있습니다.
1.9. 대시보드 구성 요소

시스템에 Ansible Automation Platform을 설치하고 처음으로 로그인하여 플랫폼 대시보드를 숙지합니다.
- 퀵스타트
- 퀵 스타트라는 가이드 튜토리얼을 사용하여 Ansible 자동화 기능에 대해 알아볼 수 있습니다. 대시보드에서 퀵 스타트 카드를 선택하여 퀵 스타트에 액세스할 수 있습니다. 표시된 패널에서 를 클릭하고 화면의 지침을 완료합니다. 키워드 및 상태별로 퀵 스타트를 필터링할 수도 있습니다.
- 리소스 상태
- 호스트, 프로젝트 및 인벤토리의 상태를 나타냅니다. 상태 표시기는 이러한 리소스를 검색, 필터링, 추가 및 변경할 수 있는 구성된 호스트, 프로젝트 및 인벤토리에 연결됩니다.
- 작업 활동
- 현재 작업 상태에 대한 요약을 볼 수 있습니다. 일정 기간 또는 작업 유형별로 작업 상태를 필터링하거나 현재 사용 가능한 전체 작업 목록을 확인합니다.
- Jobs
- 실행된 최근 작업을 보거나 의 전체 목록을 보거나 새 작업을 생성할 수 있습니다.
- 프로젝트
- 최근 업데이트된 프로젝트를 보거나 클릭하여 현재 사용 가능한 프로젝트의 전체 목록을 보거나 새 프로젝트를 생성할 수 있습니다.
- 인벤토리
- 최근 업데이트된 인벤토리를 보거나 의 전체 목록을 보거나 새 인벤토리를 생성할 수 있습니다.
- 룰북 활성화
- 최근 룰북 활성화 및 상태 목록을 보거나, 현재 사용 가능한 룰북 활성화의 전체 목록을 표시하거나, 새 룰북 활성화를 생성할 수 있습니다.
- 규칙 감사
- 최근 실행 중인 규칙 감사, 규칙 감사 레코드를 보고, 해당 룰북 활성화 실행에 따라 규칙 감사 데이터를 봅니다.
- 의사 결정 환경
- 최근 업데이트된 의사 결정 환경을 보거나 클릭하여 사용 가능한 인벤토리의 전체 목록을 보거나 새 의사 결정 환경을 생성할 수 있습니다.
1.10. 이 가이드 사용
Ansible Automation Platform 2.5를 설치하고 대시보드에 익숙해지면 이 문서를 사용하여 설정 및 일상적인 사용을 위한 추가 옵션을 살펴봅니다. 이 가이드는 사용자와 조직 내에서 역할에 가장 적합한 경로를 선택할 수 있도록 구성되어 있습니다. 또한 이 가이드에 설명된 다른 경로를 탐색하여 Ansible이 사용자에게 자동화 작업을 빌드하고 사용자 지정하는 다양한 역할과 목표를 부여하는 방법을 살펴볼 것을 권장합니다.
계속 시작하려면 다음 경로 중 하나를 선택합니다.
- 인증을 구성하고 팀 및 조직을 설정하는 시스템 관리자인 경우 플랫폼 관리자로 시작하기를 참조하십시오.
- 개발 환경을 설정하고, 플레이북, 룰북, 역할 또는 프로젝트를 생성하는 개발자인 경우 자동화 개발자로 시작하기를 참조하십시오.
- 플레이북을 사용하는 Operator인 경우 사용자 정의 콘텐츠를 게시하고, 프로젝트를 생성하며, 인벤토리를 생성 및 사용하는 경우 자동화 운영자로 시작하기를 참조하십시오.
2장. 플랫폼 관리자로 시작하기
플랫폼 관리자인 Ansible Automation Platform은 사용자와 팀이 자동화를 개발하고 실행할 수 있도록 지원합니다.
이 가이드에서는 사용자를 위한 플랫폼 구성 및 유지 관리를 포함하여 Ansible Automation Platform의 관리자로 설정하는 기본 단계를 안내합니다.
관리자로 시작하려면 다음을 참조하십시오.
2.1. 처음으로 로그인
관리자로 Ansible Automation Platform에 로그인하고 서브스크립션 정보를 입력합니다. 그런 다음 사용자 프로필을 생성하고 역할을 할당할 수 있습니다.
프로세스
- 설치가 완료된 후 제공되는 로그인 정보를 사용하여 웹 브라우저를 열고 서버 URL( https://<AAP_SERVER_NAME>/)으로 이동하여 Red Hat Ansible Automation Platform에 로그인합니다.
설치 프로세스 중에 지정된 인증 정보를 사용하여 로그인합니다.
- 기본 사용자 이름은 admin 입니다.
- admin 의 암호는 설치 중에 지정된 값입니다.
첫 번째 로그인 후 서브스크립션 매니페스트를 추가하라는 메시지가 표시됩니다.
프로세스
서브스크립션 매니페스트 사본을 업로드하거나 로그인 인증 정보를 입력하여 프로필과 연결된 서브스크립션을 찾을 수 있습니다.
- 서브스크립션 매니페스트를 업로드하려면 Red Hat 서브스크립션 매니페스트 아래의 필드에 파일을 드래그하거나 로컬 시스템에서 파일을 찾습니다.
- 서브스크립션을 찾으려면 Username / password 레이블이 지정된 탭을 클릭하고 인증 정보를 입력합니다. 서브스크립션이 서브스크립션 이라는 레이블이 지정된 목록에 나타납니다. 서브스크립션을 선택합니다.
- 서브스크립션을 추가한 후 클릭합니다.
- 최종 사용자 라이센스 계약에 동의했음을 나타내는 확인란을 선택합니다.
- 정보를 검토하고 을 클릭합니다.
로그인한 후 유용한 지침을 보려면 퀵 스타트 섹션을 검토하십시오.
2.2. 인증 구성
관리자로 처음 로그인한 후 사용자에 대한 인증을 구성해야 합니다. 조직의 요구 및 리소스에 따라 다음 중 하나를 수행할 수 있습니다.
- 사용자, 팀, 조직을 수동으로 생성하여 인증을 설정합니다.
- GitHub와 같은 외부 소스를 사용하여 시스템에 대한 인증을 구성합니다.
2.3. 역할 기반 액세스 제어를 사용하여 사용자 액세스 관리
RBAC(역할 기반 액세스 제어)는 조직 내의 역할에 따라 사용자 액세스를 제한합니다. RBAC의 역할은 사용자가 네트워크에 대해 갖는 액세스 수준을 나타냅니다.
RBAC 정책에 따라 광범위한 또는 세분화된 수준에서 Ansible Automation Platform의 구성 요소로 수행할 수 있는 작업을 제어할 수 있습니다. 사용자가 시스템 관리자인지 아니면 일반 사용자인지를 선택하고 역할 및 액세스 권한을 조직 내 위치에 정렬할 수 있습니다.
그러면 리소스, 팀 및 사용자에게 할당할 수 있는 많은 권한으로 역할을 정의할 수 있습니다. 역할을 구성하는 권한에 따라 할당된 역할이 허용하는 항목이 지정됩니다. 권한은 사용자에게 해당 역할에 적합한 작업을 수행하는 데 필요한 액세스 권한만으로 할당됩니다.
2.4. 조직 생성
Ansible Automation Platform은 기본 조직을 자동으로 생성합니다. 자체 지원 수준 라이센스가 있는 경우 기본 조직만 사용할 수 있으며 삭제할 수 없습니다.
프로세스
- 탐색 패널에서 → 를 선택합니다.
- 클릭합니다.
Name 을 입력하고 선택적으로 조직에 대한 설명을 입력합니다.
참고플랫폼에서 자동화 컨트롤러가 활성화된 경우 4단계를 계속합니다. 그렇지 않으면 6단계로 이동합니다.
- 실행 환경의 이름을 선택하거나 이 팀의 멤버가 자동화를 실행할 수 있는 존재하는 환경을 검색합니다.
- 이 조직을 실행할 인스턴스 그룹의 이름을 입력합니다.
- 선택 사항: Galaxy 인증 정보를 입력하거나 기존 인증 정보를 검색합니다.
이 조직의 최대 호스트 를 선택합니다. 기본값은 0입니다. 이 값이 0이면 제한이 없음을 나타냅니다. 호스트 한도에 도달했거나 이를 초과한 조직에 호스트를 추가하려고 하면 오류 메시지가 표시됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow You have already reached the maximum number of 1 hosts allowed for your organization. Contact your System Administrator for assistance.
You have already reached the maximum number of 1 hosts allowed for your organization. Contact your System Administrator for assistance.
- 를 클릭합니다.
둘 이상의 인스턴스 그룹을 선택한 경우 목록에서 인스턴스 그룹을 위 또는 아래로 끌어다 놓은 후
을 클릭하여 순서를 관리할 수 있습니다.참고실행 우선순위는 인스턴스 그룹이 나열된 순서에 따라 결정됩니다.
- 클릭하고 조직 설정을 확인합니다.
- 를 클릭합니다.
2.5. 팀 생성
새 팀을 생성하고, 조직을 팀에 할당하고, 각 팀과 연결된 사용자 및 관리자를 관리할 수 있습니다. 팀과 연결된 사용자는 팀과 연결된 권한 및 팀에 멤버십이 있는 모든 조직 권한을 상속합니다.
팀에 사용자 또는 관리자를 추가하려면 사용자가 이미 생성되어 있어야 합니다.
프로세스
- 탐색 패널에서 → 를 선택합니다.
- 클릭합니다.
- 이름을 입력하고 선택적으로 팀에 대한 설명을 지정합니다.
이 팀과 연결할 조직을 선택합니다.
참고각 팀은 하나의 조직에만 할당할 수 있습니다.
팀 정보를 검토하고 편집할 수 있는 세부 정보 페이지가 열립니다.
2.6. 사용자 생성
Ansible Automation Platform에는 세 가지 유형의 사용자가 있습니다.
- 일반 사용자
- 일반 사용자는 해당 사용자에게 적절한 역할 및 권한이 부여된 리소스(예: 인벤토리, 프로젝트, 작업 템플릿)에 대한 읽기 및 쓰기 액세스 권한이 있습니다. 일반 사용자는 기본 사용자 유형입니다.
- Ansible Automation Platform 관리자
- 관리자(슈퍼유저라고도 함)에는 전체 설치에 대한 전체 읽기 및 쓰기 권한이 있는 전체 시스템 관리 권한이 있습니다. 관리자는 일반적으로 다양한 사용자에게 일상적인 작업에 대한 책임을 위임하고 모든 측면을 관리할 책임이 있습니다.
- Ansible Automation Platform Auditor
- 감사자는 환경 내의 모든 오브젝트에 대한 읽기 전용 기능을 제공합니다.
프로세스
- 탐색 패널에서 → 를 선택합니다.
- 클릭합니다.
- 사용자 생성 페이지의 필드에 새 사용자에 대한 세부 정보를 입력합니다. 별표(*)로 표시된 필드는 필수 항목입니다.
User 유형이 지정되지 않은 경우 일반 사용자는 기본값입니다. 사용자를 관리자 또는 감사자로 정의하려면 User 유형 확인란을 선택합니다.
참고자신의 암호를 수정하는 경우 로그아웃한 후 다시 로그인하여 다시 로그인합니다.
- 이 사용자에게 할당할 조직을 선택합니다. 새 조직을 생성하는 방법에 대한 자세한 내용은 조직 생성 을 참조하십시오.
- 클릭합니다.
사용자가 성공적으로 생성되면 사용자 대화 상자가 열립니다. 여기에서 사용자의 팀, 역할, 토큰 및 기타 멤버십 세부 정보를 검토하고 수정할 수 있습니다.
사용자가 새로 생성되지 않은 경우 세부 정보 화면에 해당 사용자의 마지막 로그인 활동이 표시됩니다.
직접 로그인하고 사용자 프로필의 세부 정보를 보면 토큰 탭을 선택하여 사용자 프로필에서 토큰을 관리할 수 있습니다.
2.7. GitHub 인증 구성
OAuth를 사용하여 GitHub ID를 Ansible Automation Platform에 연결할 수 있습니다. GitHub 인증을 설정하려면 GitHub에 새 애플리케이션을 등록하여 GitHub에서 조직 소유 애플리케이션을 등록하여 OAuth2 키와 시크릿을 가져와야 합니다.
OAuth2 키(Client ID) 및 시크릿(Client Secret)은 UI에 필요한 필드를 제공하는 데 사용됩니다. 애플리케이션을 등록하려면 인증자 구성에 표시된 콜백 URL인 웹 페이지 URL을 제공해야 합니다.
프로세스
- 탐색 패널에서 → 를 선택합니다.
- 클릭합니다.
- 인증 유형 목록에서 GitHub 를 선택하고 클릭합니다.
- 이 인증 구성 의 이름을 입력합니다.
애플리케이션이 등록되면 GitHub에 클라이언트 ID와 클라이언트 시크릿 이 표시됩니다.
- GitHub 클라이언트 ID를 복사하여 GitHub OAuth2 키 필드에 붙여넣습니다.
- GitHub 클라이언트 시크릿을 복사하여 GitHub OAuth2 시크릿 필드에 붙여넣습니다.
선택 사항: 이 인증기를 사용할 수 있는 추가 인증 필드를 입력합니다. 이러한 필드는 검증되지 않으며 인증기로 직접 전달됩니다.
참고이 필드에 정의된 값은 UI에 제공된 전용 필드를 재정의합니다. 여기에 정의되지 않은 모든 값은 인증자에게 제공되지 않습니다.
- 성공적인 로그인 시 조직, 사용자 및 팀을 자동으로 생성하려면 Create objects 를 선택합니다.
- 생성 시 이 인증 방법을 활성화하려면 Enabled 를 선택합니다.
- 이 소스에서 인증할 때 이전에 추가한 그룹의 사용자를 제거하려면 사용자 제거를 선택합니다.
- 를 클릭합니다.
검증
인증이 올바르게 구성되었는지 확인하려면 Ansible Automation Platform에서 로그아웃하고 로그인 화면에 해당 자격 증명으로 로그인할 수 있는 인증 선택한 방법의 로고가 표시되는지 확인합니다.
다음 단계
Ansible Automation Platform 서버에 허용되는 사용자를 제어하고 특성(사용자 이름 및 이메일 주소) 또는 해당 그룹(예: 사용자 이름 및 이메일 주소)을 기반으로 Ansible Automation Platform 조직 또는 팀에 배치하려면 계속해서 매핑 합니다.
3장. 자동화 개발자로 시작하기
자동화 개발자는 Ansible Automation Platform을 사용하여 조직의 자동화 전략을 구현할 수 있습니다. Ansible Automation Platform은 자동화 콘텐츠를 작성, 테스트 및 공유하고 Red Hat 인증 컬렉션을 다운로드하여 사용할 수 있도록 지원합니다. 이 가이드에서는 다음을 수행하는 방법에 대한 정보와 함께 Ansible Automation Platform에서 자동화 개발자로 설정하는 기본 단계를 안내합니다.
- 개발 환경 설정
- 사용자 정의 자동화 콘텐츠 생성, 게시 및 사용
- 자동화 실행 환경 및 의사 결정 환경 빌드 및 사용
- 이벤트 기반 Ansible에 대한 룰북 활성화 생성 및 실행
- 작업 템플릿 생성 및 사용
3.1. 개발 환경 설정
콘텐츠 생성을 시작하기 전에 자동화 콘텐츠 개발에 대한 가이드를 참조하십시오. 환경에 통합할 수 있는 Ansible 개발 툴에 대한 정보를 찾고 플레이북 프로젝트를 스캐폴드하는 방법을 배울 수 있습니다.
3.2. 플레이북을 사용하여 자동화 콘텐츠 생성
Ansible 플레이북은 Ansible Automation Platform에 어떤 장치에서 수행할 작업을 알려주는 블루프린트입니다. 플레이북을 사용하여 플랫폼을 실행할 자동화 작업을 정의할 수 있습니다.
3.2.1. 플레이북 생성
플레이북에는 하나 이상의 플레이가 포함되어 있습니다. 기본 플레이에는 다음 매개변수가 포함되어 있습니다.
- name: 플레이북의 전체 기능에 대한 간략한 설명으로, 모든 사용자에 대해 읽기 및 정리를 지원합니다.
- hosts: Ansible이 실행할 대상 또는 대상을 식별합니다.
-
become 문: 이 선택적 문을
true
또는yes
로 설정하여 become 플러그인을 사용하여 권한 에스컬레이션을 활성화할 수 있습니다(예:sudo
,su
,pfexec
,doas
,pbrun
,dzdo
,ksu
). - tasks: 플레이의 각 호스트에 대해 실행되는 작업 목록입니다.
다음은 플레이북의 플레이 예제입니다. 플레이 이름, 호스트 및 플레이에 포함된 작업 목록을 확인할 수 있습니다.
- name: Set Up a Project and Job Template hosts: host.name.ip become: true tasks: - name: Create a Project ansible.controller.project: name: Job Template Test Project state: present scm_type: git scm_url: https://github.com/ansible/ansible-tower-samples.git - name: Create a Job Template ansible.controller.job_template: name: my-job-1 project: Job Template Test Project inventory: Demo Inventory playbook: hello_world.yml job_type: run state: present
- name: Set Up a Project and Job Template
hosts: host.name.ip
become: true
tasks:
- name: Create a Project
ansible.controller.project:
name: Job Template Test Project
state: present
scm_type: git
scm_url: https://github.com/ansible/ansible-tower-samples.git
- name: Create a Job Template
ansible.controller.job_template:
name: my-job-1
project: Job Template Test Project
inventory: Demo Inventory
playbook: hello_world.yml
job_type: run
state: present
플레이북 작성에 대한 자세한 내용은 자동화 콘텐츠 개발을 참조하거나 IBM watsonx Code Assistant User Guide로 Red Hat Ansible Lightspeed 설명서를 참조하여 AI 지원을 통해 플레이북을 생성하는 방법을 알아보십시오.
3.3. 룰북을 사용하여 이벤트 정의
Ansible 룰북은 하나 이상의 소스, 규칙 및 조건을 참조하는 규칙 세트 컬렉션입니다.
룰북은 이벤트 기반 Ansible에 대한 Ansible Automation Platform 전체에 대한 플레이북입니다. 플레이북과 마찬가지로 룰북은 플랫폼에 대한 자동화 작업을 트리거해야 하는 시기와 함께 정의합니다.
3.3.1. 룰북 작업
룰북은 이벤트 기반 Ansible에 규칙이 트리거될 때 활성화할 작업을 지시하는 "if-this-that" 논리를 사용합니다. 이벤트 기반 Ansible은 컨트롤러 이벤트 스트림을 수신 대기하고 이벤트가 규칙을 트리거하면 응답으로 자동화 작업을 활성화합니다.
룰북은 다음과 같은 활성화를 트리거할 수 있습니다.
-
run_job_template
-
run_playbook
( ansible-rulebook CLI에서만 지원) -
debug
-
print_event
-
set_fact
-
post_event
-
retract_fact
-
shutdown
룰북 활성화에 대한 자세한 내용은 Ansible 규칙북 설명서의 작업을 참조하십시오.
3.4. Ansible 역할과 함께 번들 콘텐츠
역할은 시스템의 특정 요구에 맞게 플레이북에서 관련 비트를 함께 번들하는 사용자 지정 자동화 콘텐츠와 같습니다. 역할은 자체 포함되고 이식 가능하며 복잡한 자동화 흐름을 오케스트레이션하기 위해 작업, 변수, 구성 템플릿, 처리기 및 기타 지원 파일의 그룹화를 포함할 수 있습니다.
수백 개의 작업으로 대규모 플레이북을 생성하는 대신 역할을 사용하여 작업을 더 작고 개별 작업 단위로 분할할 수 있습니다.
역할에 대한 자세한 내용은 Ansible 역할이란 무엇이며 사용 방법을 참조하십시오.
3.4.1. 역할 생성
Ansible Automation Platform 번들에 포함된 Ansible Galaxy CLI 툴을 사용하여 역할을 생성할 수 있습니다. role 하위 명령에서 역할
별 명령에 액세스합니다.
ansible-galaxy role init <role_name>
ansible-galaxy role init <role_name>
컬렉션 이외의 독립 실행형 역할이 지원됩니다. 컬렉션 내에 새 역할을 생성하여 Ansible Automation Platform이 제공해야 하는 기능을 활용합니다.
프로세스
-
터미널에서 컬렉션 내의
역할
디렉터리로 이동합니다. 컬렉션 내에
my_role
이라는 역할을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-galaxy role init my_role
$ ansible-galaxy role init my_role
이제 이 예제에서 볼 수 있듯이 컬렉션에는
역할
디렉터리 내에my_role
이라는 역할이 포함됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name> ... └── roles/ └── my_role/ ├── .travis.yml ├── README.md ├── defaults/ │ └── main.yml ├── files/ ├── handlers/ │ └── main.yml ├── meta/ │ └── main.yml ├── tasks/ │ └── main.yml ├── templates/ ├── tests/ │ ├── inventory │ └── test.yml └── vars/ └── main.yml
~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name> ... └── roles/ └── my_role/ ├── .travis.yml ├── README.md ├── defaults/ │ └── main.yml ├── files/ ├── handlers/ │ └── main.yml ├── meta/ │ └── main.yml ├── tasks/ │ └── main.yml ├── templates/ ├── tests/ │ ├── inventory │ └── test.yml └── vars/ └── main.yml
--role-skeleton
인수를 사용하여 사용자 지정 역할 skeleton 디렉터리를 제공할 수 있습니다. 이를 통해 조직은 요구 사항에 맞게 새 역할에 맞게 표준화된 템플릿을 생성할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-galaxy role init my_role --role-skeleton ~/role_skeleton
$ ansible-galaxy role init my_role --role-skeleton ~/role_skeleton
이렇게 하면
~/role_skeleton
의 콘텐츠를my_role
에 복사하여my_role
이라는 역할이 생성됩니다.role_skeleton
의 내용은 역할 디렉터리 내에서 유효한 모든 파일 또는 폴더일 수 있습니다.
3.5. 콘텐츠 컬렉션 정보
Ansible 콘텐츠 컬렉션은 자동화 콘텐츠의 취약점입니다. Ansible 컬렉션에는 다음 두 가지 유형이 있습니다.
- Ansible 인증 콘텐츠 컬렉션: 환경에서 사용할 수 있는 엔터프라이즈급 역할 및 모듈이 포함되어 있습니다.
- Ansible 검증 콘텐츠 컬렉션: 제품에서 기본 작업 및 작업을 수행하기 위한 신뢰할 수 있는 전문 가이드 접근 방식을 제공합니다.
두 유형의 콘텐츠 컬렉션은 모두 하이브리드 클라우드 콘솔 을 통해 자동화 허브에서 찾을 수 있습니다.
3.6. 컬렉션에 게시
Git에 업로드하거나 선택한 소스 제어 관리자에게 프로젝트를 구성할 수 있습니다.
프로세스
- 탐색 패널에서 → 선택합니다.
- 소스 제어 관리자에 게시할 프로젝트를 검색하거나 생성합니다.
- 프로젝트 세부 정보 탭에서 프로젝트 편집을 선택합니다.
- 소스 제어 유형 드롭다운 메뉴에서 Git 을 선택합니다.
다음 필드에 적절한 세부 정보를 입력합니다.
- 소스 제어 URL - 툴팁에 예제를 참조하십시오.
-
선택 사항: 소스 제어 분기/태그/커밋: 체크아웃할 소스 제어에서 SCM 분기, 태그, 커밋 해시, 임의의 refs 또는 버전 번호(해당되는 경우)를 입력합니다. 다음 필드에 사용자 정의 refspec을 제공하지 않는 한 일부 커밋 해시 및 참조를 사용할 수 없습니다. 비워 두면 기본값은
HEAD
입니다. 이 분기는 마지막으로 체크아웃된 분기, 태그 또는 이 프로젝트에 대한 커밋입니다. - 소스 제어 참조 사양 - 이 필드는 Git 소스 제어와 관련된 옵션이며 Git에 익숙하고 편안한 고급 사용자만 원격 리포지토리에서 다운로드할 참조를 지정해야 합니다. 자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
- 소스 제어 인증 정보 - 인증이 필요한 경우 적절한 소스 제어 인증 정보를 선택합니다.
선택 사항: 옵션 - 해당하는 경우 시작 동작을 선택합니다.
- clean - 업데이트를 수행하기 전에 로컬 수정 사항을 제거합니다.
- delete - 업데이트를 수행하기 전에 전체 로컬 리포지토리를 삭제합니다. 리포지토리 크기에 따라 업데이트를 완료하는 데 필요한 시간이 크게 증가할 수 있습니다.
- 하위 모듈 추적 - 최신 커밋을 추적합니다. 자세한 내용은 툴팁을 참조하십시오.
- 시작 시 버전 업데이트 - 프로젝트의 버전을 원격 소스 제어의 현재 버전으로 업데이트하고 Ansible Galaxy 또는 컬렉션 지원 의 역할 디렉터리를 캐시합니다. 자동화 컨트롤러를 사용하면 로컬 버전이 일치하고 역할 및 컬렉션이 마지막 업데이트와 함께 최신 상태인지 확인합니다. 또한 프로젝트에서 동기화할 수 있는 것보다 작업이 더 빨리 생성되는 경우 작업 오버플로를 방지하기 위해 이를 선택하면 지정된 초 동안 이전 프로젝트 동기화를 캐시하도록 캐시 시간 초과를 구성할 수 있습니다.
- 분기 덮어쓰기 허용 - 이 프로젝트를 사용하여 프로젝트의 해당 항목 이외의 지정된 SCM 분기 또는 버전으로 시작하는 작업 템플릿 또는 인벤토리 소스를 활성화합니다. 자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
- 클릭하여 프로젝트를 저장합니다.
3.6.1. 자동화 허브에 컬렉션 업로드
Ansible 커뮤니티의 나머지 부분과 생성한 컬렉션을 공유하려면 자동화 허브에 업로드할 수 있습니다.
Ansible 커뮤니티와 컬렉션을 공유하려면 파트너 엔지니어링 팀이 인증 또는 검증한 컬렉션을 받아야 합니다. 이 작업은 파트너 고객에게만 제공됩니다. 파트너가 되는 방법에 대한 자세한 내용은 소프트웨어 인증에 대한 설명서를 참조하십시오.
자동화 허브 사용자 인터페이스 또는 ansible-galaxy
클라이언트를 사용하여 컬렉션을 업로드할 수 있습니다.
사전 요구 사항
-
자동화 허브를 위해
ansible-galaxy
클라이언트를 구성했습니다. - 네임스페이스가 하나 이상 있어야 합니다.
-
ansible-test sanity
를 통해 모든 콘텐츠를 실행
프로세스
- 탐색 패널에서 → 선택합니다.
- 내 네임스페이스 탭에서 컬렉션을 업로드할 네임스페이스를 찾아 클릭합니다.
- 컬렉션 탭을 선택한 다음 를 클릭합니다.
- 새 컬렉션 모달에서 파일 선택을 클릭합니다. 시스템에서 파일을 찾습니다.
- 를 클릭합니다.
ansible-galaxy
클라이언트를 사용하여 다음 명령을 입력합니다.
ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
$ ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
3.7. 실행 환경 빌드 및 사용
Red Hat Ansible Automation Platform의 모든 자동화는 자동화 실행 환경이라는 컨테이너 이미지에서 실행됩니다.
자동화 실행 환경은 Ansible 제어 노드 역할을 하는 일관되고 공유 가능한 컨테이너 이미지입니다. 자동화 실행 환경은 외부 종속 항목이 있는 Ansible 콘텐츠를 공유하는 데 어려움을 줄일 수 있습니다. 자동화 콘텐츠가 개발자가 작성한 스크립트와 같은 경우 자동화 실행 환경은 개발자 환경의 복제본과 동일하므로 개발자가 작성한 자동화 콘텐츠를 재현하고 확장할 수 있습니다. 이러한 방식으로 실행 환경을 사용하면 다양한 환경에서 자동화를 더 쉽게 구현할 수 있습니다.
자동화 실행 환경에는 다음이 포함됩니다.
- Ansible Core
- Ansible Runner
- Ansible 컬렉션
- Python 라이브러리
- 시스템 종속 항목
- 사용자 정의 사용자 요구 사항
Ansible Automation Platform 서브스크립션에 포함된 기본 기본 실행 환경을 사용하거나 Ansible Builder를 사용하여 자동화 실행 환경을 정의하고 생성할 수 있습니다.
3.7.1. 기본 자동화 실행 환경 사용
Ansible Automation Platform을 사용한 서브스크립션을 사용하면 일부 기본 자동화 실행 환경에 액세스할 수 있습니다. 기본 자동화 실행 환경을 사용자 지정 실행 환경을 생성하기 위한 시작점으로 사용할 수 있습니다.
Ansible Automation Platform에 포함된 기본 이미지는 Red Hat Ecosystem Catalog(registry.redhat.io)에서 호스팅됩니다.
사전 요구 사항
- 유효한 Red Hat Ansible Automation Platform 서브스크립션이 있어야 합니다.
프로세스
registry.redhat.io에 로그인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman login registry.redhat.io
$ podman login registry.redhat.io
- 레지스트리에서 기본 이미지를 가져옵니다.
$podman pull registry.redhat.io/aap/<image name>
$podman pull registry.redhat.io/aap/<image name>
3.7.1.1. 기본 실행 환경 이미지 사용자 정의
Ansible Automation Platform에는 다음과 같은 기본 실행 환경이 포함되어 있습니다.
-
최소
- Ansible Runner와 함께 최신 Ansible-core 2.15 릴리스를 포함하지만 컬렉션 또는 기타 콘텐츠는 포함되지 않습니다. -
EE 지원
- 최소 및 모든 Red Hat 지원 컬렉션 및 종속 항목
이러한 환경에서는 많은 자동화 사용 사례를 다루지만 특정 요구 사항에 맞게 이러한 컨테이너를 사용자 정의하기 위해 추가 항목을 추가할 수 있습니다. 실행 환경 사용자 지정에 대한 자세한 내용은 실행 환경 생성 및 사용 가이드의 기존 자동화 실행 환경 이미지 사용자 지정을 참조하십시오.
3.7.1.2. Ansible 빌더 정보
또한 실행 환경 빌더라고도 하는 Ansible Builder를 사용하여 완전히 새로운 실행 환경을 생성하는 옵션도 있습니다. Ansible Builder는 Ansible의 실행 환경을 생성하는 데 사용할 수 있는 명령줄 툴입니다. Ansible Builder를 사용하여 실행 환경만 생성할 수 있습니다.
자체 실행 환경을 빌드하려면 다음을 수행해야 합니다.
- Ansible 빌더 다운로드
- 실행 환경을 정의하는 정의 파일을 생성
- 정의 파일을 기반으로 실행 환경 이미지 생성
실행 환경 빌드에 대한 자세한 내용은 실행 환경 생성 및 사용을 참조하십시오.
3.7.2. 작업 템플릿에 실행 환경 추가
사전 요구 사항
- Ansible Builder 사용에 설명된 대로 실행 환경이 ansible-builder를 사용하여 생성되어야 합니다. 실행 환경이 생성되면 이를 사용하여 작업을 실행할 수 있습니다. 자동화 컨트롤러 UI를 사용하여 작업 템플릿에서 사용할 실행 환경을 지정합니다.
- 조직에서 전역적으로 사용하거나 연결된 방식으로 실행 환경을 사용할 수 있는지 여부에 따라 작업에서 실행 환경을 사용하려면 적절한 수준의 관리자 권한이 있어야 합니다. 조직에 연결된 실행 환경에서는 조직 관리자가 해당 실행 환경에서 작업을 실행할 수 있어야 합니다.
- 인증 정보가 할당된 실행 환경을 사용하는 작업 또는 작업 템플릿을 실행하기 전에 인증 정보에 사용자 이름, 호스트 및 암호가 있는지 확인합니다.
프로세스
- 탐색 패널에서 선택합니다.
- 를 클릭하여 실행 환경을 생성합니다.
다음 필드에 적절한 세부 정보를 입력합니다.
- 이름 (필수): 실행 환경의 이름을 입력합니다.
-
이미지 (필수): 이미지 이름을 입력합니다. 이미지 이름에는 다음 예와 같이 전체 위치(repository), 레지스트리, 이미지 이름 및 버전 태그가 필요합니다.
quay.io/ansible/awx-ee:latestrepo/project/image-name:tag
선택 사항: 가져오기: 작업을 실행할 때 가져오기 유형을 선택합니다.
- 항상 실행 전에 컨테이너를 가져옵니다. 컨테이너의 최신 이미지 파일을 가져옵니다.
- 실행하기 전에 존재하지 않는 경우에만 이미지를 가져옵니다. : 항목이 지정되지 않은 경우에만 최신 이미지를 가져옵니다.
실행하기 전에 컨테이너를 가져오지 마십시오. 컨테이너 이미지의 최신 버전을 가져오지 마십시오.
참고가져오기 유형을 설정하지 않으면 기본값은 실행하기 전에 존재하지 않는 경우에만 이미지를 가져옵니다.
- 선택 사항: 설명: 선택적 설명을 입력합니다.
- 선택 사항: 조직: 구체적으로 이 실행 환경을 사용하도록 조직을 할당합니다. 여러 조직에서 실행 환경을 사용할 수 있도록 하려면 이 필드를 비워 둡니다.
- 레지스트리 인증 정보: 이미지에 보호된 컨테이너 레지스트리가 있는 경우 액세스할 수 있는 인증 정보를 제공합니다.
- 클릭합니다. 새로 추가된 실행 환경을 작업 템플릿에서 사용할 준비가 되었습니다.
- 작업 템플릿에 실행 환경을 추가하려면 실행 환경을 지정합니다. → 으로 이동하여 템플릿을 선택합니다. ... 을 클릭하고 실행 환경에 레이블이 지정된 필드에
작업 템플릿에 실행 환경을 추가하면 템플릿이 실행 환경 세부 정보의 템플릿 탭에 나열됩니다.
3.7.2.1. 컨테이너 레지스트리 정보
유지 관리하려는 실행 환경이 많은 경우 프라이빗 자동화 허브에 연결된 컨테이너 레지스트리에 저장할 수 있습니다.
자세한 내용은 실행 환경 생성 및 사용 가이드에서 프라이빗 자동화 허브 컨테이너 레지스트리 채우기 를 참조하십시오.
3.8. 의사 결정 환경 빌드 및 사용
이벤트 기반 Ansible에는 샘플 소스, 이벤트 필터 및 룰북이 포함된 ansible.eda 컬렉션이 포함되어 있습니다. 모든 컬렉션, ansible 룰북 및 해당 종속 항목은 Podman 또는 Kubernetes에서 실행할 수 있는 이미지인 의사 결정 환경을 사용합니다.
의사 결정 환경에서 일반적으로 Python 코드인 소스는 ansible-collections를 통해 배포됩니다. 처리를 위해 외부 이벤트를 룰북에 삽입합니다. 룰북은 다음으로 구성됩니다.
- python 인터프리터
- Java Runtime Environment for Cryostat 규칙 엔진
- ansible-rulebook python 패키지
- ansible.eda 컬렉션
기본 의사 결정 환경을 사용하고 추가 컬렉션 및 컬렉션 종속성을 사용하여 고유한 사용자 지정 의사 결정 환경을 빌드할 수 있습니다. Dockerfile을 사용하여 의사 결정 환경을 빌드하거나 선택적으로 이미지에 CA 인증서를 배포할 수 있습니다.
3.8.1. 새 의사 결정 환경 설정
다음 단계에서는 의사 결정 환경을 플랫폼으로 가져오는 방법을 설명합니다.
사전 요구 사항
- 필요한 인증 정보를 설정했습니다. 자세한 내용은 자동화 결정 가이드의 인증 정보 설정 섹션을 참조하십시오.
-
의사 결정 환경 이미지를 이미지 리포지토리로 내보내거나 registry.redhat.io 에서
제공하는
이미지 사용 중단을 선택했습니다.
프로세스
- .
- 을 클릭합니다.
다음을 입력합니다.
- 이름
- 이름을 삽입합니다.
- 설명
- 이 필드는 선택 사항입니다.
- 이미지
- 컨테이너 레지스트리, 이미지 이름, 버전 태그를 포함한 전체 이미지 위치입니다.
- 인증 정보
- 이 필드는 선택 사항입니다. 이는 의사 결정 환경 이미지를 사용하는 데 필요한 토큰입니다.
- 을 선택합니다.
이제 의사 결정 환경이 생성되고 의사 결정 환경 페이지에서 관리할 수 있습니다.
새 의사 결정 환경을 저장하면 의사 결정 환경의 세부 정보 페이지가 표시됩니다. 의사 결정 환경 목록 보기에서 편집 또는 삭제할 수 있습니다.
3.9. 자동화 실행 프로젝트 생성
프로젝트는 플레이북의 논리 컬렉션입니다. 프로젝트는 선택한 원칙에 따라 자동화 콘텐츠를 그룹화하는 방법으로 유용합니다.
플랫폼 UI에서 자동화 실행 프로젝트를 설정할 수 있습니다.
프로세스
- 탐색 패널에서 → 선택합니다.
- 프로젝트 페이지에서 프로젝트 창을 시작합니다.
다음 필수 필드에 적절한 세부 정보를 입력합니다.
- 이름 (필수)
- 선택 사항: 설명
- 조직 (필수): 프로젝트에는 하나 이상의 조직이 있어야 합니다. 프로젝트를 생성할 하나의 조직을 선택합니다. 프로젝트가 생성되면 조직을 추가할 수 있습니다.
- 선택 사항: 실행 환경: 실행 환경의 이름을 입력하거나 이 프로젝트를 실행할 기존 실행 환경 목록에서 검색합니다.
- 소스 제어 유형 (필수): 메뉴에서 이 프로젝트와 관련된 SCM 유형을 선택합니다. 다음 섹션의 옵션은 선택한 유형에 따라 사용할 수 있습니다. 자세한 내용은 소스 제어를 사용하여 플레이북을 수동으로 관리하거나 플레이북 관리를 참조하십시오.
- 선택 사항: 콘텐츠 서명 유효성 검사 인증 정보: 이 필드를 사용하여 콘텐츠 확인을 활성화합니다. 프로젝트 동기화 중에 콘텐츠 서명을 확인하는 데 사용할 GPG 키를 지정합니다. 콘텐츠가 변조된 경우 작업이 실행되지 않습니다. 자세한 내용은 프로젝트 서명 및 확인을 참조하십시오.
- 클릭합니다.
3.10. 자동화 의사 결정 프로젝트 생성
자동화 실행 프로젝트와 마찬가지로 자동화 의사 결정 프로젝트는 자동화 의사 결정 콘텐츠의 논리 컬렉션입니다. 프로젝트 기능을 사용하여 사용자에게 적합한 방식으로 자동화 의사 결정 콘텐츠를 구성할 수 있습니다.
사전 요구 사항
- 필수 인증 정보를 모두 설정했습니다. 자세한 내용은 자동화 결정 가이드의 인증 정보 설정 섹션을 참조하십시오.
- 자동화 컨트롤러에서 사용할 리포지토리에 포함된 플레이북과 통합된 룰북이 포함된 기존 리포지토리가 있습니다.
프로세스
- 탐색 패널에서 → 선택합니다.
- 클릭합니다.
다음 정보를 입력합니다.
- 이름: 프로젝트 이름을 입력합니다.
- 설명: 이 필드는 선택 사항입니다.
- 조직: 프로젝트와 관련된 조직을 선택합니다.
- 소스 제어 유형: Git은 사용할 수 있는 유일한 SCM 유형입니다.
- proxy: HTTP 또는 HTTPS 서버에 액세스하는 데 사용되는 프록시입니다.
- 소스 제어 분기/태그/커밋: 체크아웃할 분기입니다. 태그, 커밋 해시 또는 임의의 참조일 수도 있습니다.
- 소스 제어 참조 사양: 가져올 참조 사양입니다. 이 매개변수를 사용하면 분기 필드를 통해 사용할 수 없는 참조에 액세스할 수 있습니다.
- 선택 사항 : 소스 제어 인증 정보: 소스 제어 URL을 사용하는 데 필요한 토큰입니다.
- 콘텐츠 서명 검증 인증 정보: 콘텐츠 서명을 통해 프로젝트 동기화 중에 콘텐츠가 안전한지 확인할 수 있습니다. 콘텐츠가 변조되면 작업이 실행되지 않습니다.
- options: Verify SSL (SSL 확인) 옆에 있는 확인란을 선택하여 프로젝트를 가져올 때 HTTPS를 사용하여 SSL을 확인합니다.
- 클릭합니다.
이제 프로젝트가 생성되고 프로젝트 화면에서 관리할 수 있습니다.
새 프로젝트를 저장하면 프로젝트의 세부 정보 페이지가 표시됩니다. 프로젝트 목록 보기 또는 프로젝트 목록 보기에서 편집하거나 삭제할 수 있습니다.
3.11. 인벤토리 정보
인벤토리는 Ansible Automation Platform에서 관리하는 호스트 컬렉션을 나열하는 파일입니다. 조직은 인벤토리에 할당되지만 인벤토리를 대상으로 플레이북을 시작하는 권한은 사용자 또는 팀 수준에서 제어됩니다.
3.11.1. 인벤토리 검색 및 생성
→ → . 인벤토리 창에는 현재 사용 가능한 인벤토리 목록이 표시됩니다. 인벤토리 목록을 이름별로 정렬하고 인벤토리 유형, 조직, 설명, 인벤토리 작성자 또는 수정자 또는 추가 기준에 따라 검색할 수 있습니다. 다음 절차에 따라 새 인벤토리를 생성합니다.
프로세스
- 탐색 패널에서 인벤토리 보기에 현재 사용 가능한 인벤토리 목록이 표시됩니다. → → 를 선택합니다.
- 를 클릭하고 목록 메뉴에서 생성할 인벤토리 유형을 선택합니다.
다음 필드에 적절한 세부 정보를 입력합니다.
- name: 인벤토리의 이름을 입력합니다.
- 선택 사항: 설명을 입력합니다.
- 조직: 사용 가능한 조직 중에서 선택합니다.
- 스마트 인벤토리에만 적용 가능: 스마트 호스트 필터: 필터는 해당 이름이 포함된 특정 호스트를 필터링하는 데 해당 태그의 태그와 유사합니다. 따라서 이 필드를 채우려면 호스트 자체가 아닌 원하는 호스트가 포함된 태그를 지정합니다. 필터는 대소문자를 구분합니다. 자세한 내용은 자동화 실행 가이드의 스마트 호스트 필터 를 참조하십시오.
- 인스턴스 그룹: 이 인벤토리를 실행할 인스턴스 그룹 또는 그룹을 선택합니다. 목록이 긴 경우 검색을 사용하여 옵션 범위를 좁힙니다. 여러 인스턴스 그룹을 선택하고 실행 순서대로 정렬할 수 있습니다.
- 선택 사항: 레이블: 이 인벤토리를 설명하는 레이블을 추가하여 인벤토리 및 작업을 그룹화하고 필터링하는 데 사용할 수 있습니다.
- 구성된 인벤토리에만 적용 가능: 입력 인벤토리: 이 구성된 인벤토리에 포함할 소스 인벤토리를 지정합니다. 입력 인벤토리의 빈 그룹은 구성된 인벤토리에 복사됩니다.
- 선택적이며 구성된 인벤토리에만 적용할 수 있습니다. 캐시 제한 시간(초): 캐시 플러그인 데이터를 시간 초과할 시간을 설정합니다.
구성된 인벤토리에만 적용 가능: Verbosity: 구성된 인벤토리와 관련된 인벤토리 소스와 관련하여 플레이북을 실행할 때 Ansible에서 생성하는 출력 수준을 제어합니다. 일반에서 다양한 Verbose 또는 디버그 설정으로 상세 정보 표시를 선택합니다. "세부 정보" 보고서 뷰에만 표시됩니다.
- 상세 로깅에는 모든 명령 출력이 포함됩니다.
- 디버그 로깅은 매우 상세하며 특정 지원 인스턴스에서 유용할 수 있는 SSH 작업에 대한 정보를 포함합니다. 대부분의 사용자는 디버그 모드 출력을 볼 필요가 없습니다.
- 구성된 인벤토리에만 적용 가능: 제한: 구성된 인벤토리와 연결된 인벤토리 소스에 대해 반환된 호스트 수를 제한합니다. 그룹 이름을 제한 필드에 붙여넣어 해당 그룹에 호스트만 포함할 수 있습니다. 자세한 내용은 소스 변수 설정을 참조하십시오.
표준 인벤토리에만 적용 가능: 옵션: 인스턴스 그룹 폴백 방지 옆에 있는 상자를 선택하여 인스턴스 그룹 필드에 나열된 인스턴스 그룹 만 활성화하여 작업을 실행합니다. 선택 해제된 경우 자동화 실행 가이드 구성에서 작업이 실행되는 위치 제어에 설명된 계층에 따라 실행 풀에서 사용 가능한 모든 인스턴스가 사용됩니다. 자세한 내용은 툴팁을 클릭합니다.
참고API를 통해 스마트 인벤토리에 대해
prevent_instance_group_fallback
옵션을 설정합니다.구성된 인벤토리의소스 변수 (구성된 인벤토리의 소스 변수):
- variables : 이 인벤토리의 모든 호스트에 적용할 변수 정의 및 값입니다. JSON 또는 YAML 구문을 사용하여 변수를 입력합니다. 둘 사이를 전환하려면 라디오 버튼을 사용합니다.
-
구성된 인벤토리의 소스 변수는 구성된 인벤토리 플러그인을 구성하는 데 사용됩니다. 소스 변수는
groups
데이터 키 아래에 그룹을 생성합니다. 이 변수는 Jinja2 템플릿 구문을 수락하고 모든 호스트에 대해 렌더링하고,true
또는false
평가를 수행하고, 결과가true
인 경우 그룹에 (입력 키에서) 호스트를 포함합니다.
- 클릭합니다.
새 인벤토리를 생성한 후 인벤토리 유형에 해당하는 경우 권한, 그룹, 호스트, 소스 구성을 진행하고 완료된 작업을 볼 수 있습니다.
3.12. 작업 템플릿 작업
작업 템플릿은 Ansible 작업을 실행하기 위한 매개 변수 정의 및 집합입니다.
작업 템플릿은 프로젝트의 Ansible 플레이북과 플레이북을 실행할 대상 호스트에 대한 정보, 호스트에 액세스하기 위한 인증 정보 및 기타 관련 변수를 포함하여 프로젝트를 시작하는 데 필요한 설정을 결합합니다. 작업 템플릿은 동일한 작업을 여러 번 실행하는 데 유용합니다. 또한 작업 템플릿은 Ansible 플레이북 콘텐츠의 재사용과 팀 간 협업을 권장합니다. 자세한 내용은 자동화 컨트롤러 사용자 가이드의 작업 템플릿을 참조하십시오.
3.12.1. 작업 템플릿 시작하기
초기 설정의 일부로 데모 작업 템플릿이 생성됩니다.
프로세스
- 기존 템플릿을 검토하려면 탐색 패널에서 템플릿을 선택합니다.
- 클릭하여 세부 정보를 확인합니다.
3.12.2. 작업 템플릿 생성
프로세스
- 탐색 패널에서 → 선택합니다.
- 템플릿 페이지의 템플릿 생성 목록에서 작업 템플릿 생성 을 선택합니다.
다음 필드에 적절한 세부 정보를 입력합니다.
참고필드에 시작 시 프롬프트 확인란이 선택되어 있으면 시작 시 해당 필드의 값을 입력하라는 메시지가 표시됩니다.
대부분의 프롬프트 값은 작업 템플릿에 설정된 모든 값을 재정의합니다.
다음 표에는 예외가 설명되어 있습니다.
필드 옵션 시작 시 프롬프트 이름
작업의 이름을 입력합니다.
해당 없음
설명
임의의 설명을 적절하게 입력합니다(선택 사항).
해당 없음
작업 유형
작업 유형 선택:
- run: 시작 시 플레이북을 시작하여 선택한 호스트에서 Ansible 작업을 실행합니다.
- 확인: 플레이북의 "시험 실행"을 수행하고 실제로 변경하지 않고 변경 사항을 보고합니다. 검사 모드를 지원하지 않는 작업은 누락되어 잠재적인 변경 사항을 보고하지 않습니다.
작업 유형에 대한 자세한 내용은 Ansible 문서의 플레이북 섹션을 참조하십시오.
제공됨
인벤토리
로그인한 사용자에게 제공되는 인벤토리에서 이 작업 템플릿에 사용할 인벤토리를 선택합니다.
시스템 관리자는 작업 템플릿에서 특정 인벤토리를 사용할 수 있도록 사용자 또는 팀 권한을 부여해야 합니다.
제공됨
인벤토리 프롬프트는 이후 프롬프트 창에 자체 단계로 표시됩니다.
프로젝트
로그인한 사용자에게 제공되는 프로젝트에서 이 작업 템플릿에 사용할 프로젝트를 선택합니다.
해당 없음
소스 제어 분기
이 필드는 분기 덮어쓰기를 허용하는 프로젝트를 선택한 경우에만 표시됩니다. 작업 실행에 사용할 덮어쓰기 분기를 지정합니다. 비워 두는 경우 프로젝트의 지정된 SCM 분기(또는 커밋 해시나 태그)가 사용됩니다.
자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
제공됨
실행 환경
이 작업을 실행하는 데 사용할 컨테이너 이미지를 선택합니다. 실행 환경을 선택하기 전에 프로젝트를 선택해야 합니다.
제공됨
실행 환경 프롬프트는 이후 프롬프트 창에 자체 단계로 표시됩니다.
Playbook
사용 가능한 플레이북에서 이 작업 템플릿으로 시작할 플레이북을 선택합니다. 이 필드는 선택한 프로젝트의 프로젝트 기본 경로에 있는 플레이북 이름으로 자동으로 채워집니다. 또는 목록에 없는 경우 해당 플레이북으로 실행하는 데 사용할 파일 이름(예: foo.yml)과 같이 플레이북 이름을 입력할 수 있습니다. 유효하지 않은 파일 이름을 입력하면 템플릿에 오류가 표시되거나 작업이 실패합니다.
해당 없음
인증 정보
아이콘을 선택하여 별도의 창을 엽니다.
사용 가능한 옵션에서 이 작업 템플릿에 사용할 인증 정보를 선택합니다.
목록이 긴 경우 드롭다운 메뉴 목록을 사용하여 인증 정보 유형으로 필터링합니다. 일부 인증 정보 유형은 특정 작업 템플릿에 적용되지 않기 때문에 나열되지 않습니다.
- 선택하는 경우 기본 인증 정보가 있는 작업 템플릿을 시작하고 다른 인증 정보를 제공할 때 동일한 유형인 경우 기본 인증 정보를 대체합니다. 다음은 이 메시지의 예입니다.
작업 템플릿 기본 인증 정보는 동일한 유형 중 하나로 교체해야 합니다. 계속하려면 다음 유형의 인증 정보를 선택하십시오.
- 적합한 인증 정보를 더 추가할 수 있습니다.
- 인증 정보 프롬프트는 이후 프롬프트 창에 자체 단계로 표시됩니다.
라벨
-
선택적으로
dev
또는test
와 같은 이 작업 템플릿을 설명하는 레이블을 제공합니다. - 라벨을 사용하여 디스플레이에서 작업 템플릿 및 완료된 작업을 그룹화하고 필터링합니다.
- 레이블은 작업 템플릿에 추가할 때 생성됩니다. 레이블은 작업 템플릿에 제공되는 프로젝트를 사용하여 단일 조직과 연결됩니다. 조직 멤버는 편집 권한이 있는 경우(예: 관리자 역할) 작업 템플릿에 레이블을 생성할 수 있습니다.
- 작업 템플릿을 저장하면 확장된 보기의 작업 템플릿 개요에 레이블이 표시됩니다.
-
제거하려면 레이블 옆에 있는
를 선택합니다. 레이블이 제거되면 해당 특정 작업 또는 작업 템플릿과 더 이상 연결되지 않지만 이를 참조하는 다른 작업과 연결된 상태로 유지됩니다.
- 작업은 시작 시 작업 템플릿에서 레이블을 가져옵니다. 작업 템플릿에서 레이블을 삭제하면 작업에서도 삭제됩니다.
- 선택하는 경우 기본값을 제공해도 필요한 경우 추가 레이블을 제공하도록 시작할 때 메시지가 표시됩니다.
-
를 선택하면 기존 레이블을 삭제할 수 없으며 기존 기본 레이블이 아닌 새로 추가된 라벨만 제거됩니다.
포크
플레이북을 실행하는 동안 사용할 병렬 또는 동시 프로세스 수입니다. 값이 0이면
/etc/ansible/ansible.cfg
에서 덮어쓰지 않는 한 Ansible 기본 설정인 병렬 프로세스 5개가 사용됩니다.제공됨
제한
플레이북에서 관리하거나 영향을 주는 호스트 목록을 추가로 제한하는 호스트 패턴입니다. 콜론(:)으로 많은 패턴을 분리할 수 있습니다. 핵심 Ansible과 마찬가지로:
- A:b는 "그룹 a 또는 b"를 의미합니다.
- A:b:&c는 "a 또는 b에 있지만 c에 있어야 함"를 의미합니다.
- A:!b는 "a에 있고 b에는 분명히 없음"을 의미합니다.
자세한 내용은 Ansible 문서의 Patterns: Target hosts and groups 를 참조하십시오.
제공됨
선택하지 않은 경우 작업 템플릿은 인벤토리의 모든 노드에 대해 실행되거나 Limit 필드에 사전 정의된 노드만 실행합니다. 워크플로우의 일부로 실행하면 워크플로우 작업 템플릿 제한이 대신 사용됩니다.
상세 정보
플레이북을 실행할 때 Ansible에서 생성하는 출력 수준을 제어합니다. 일반에서 다양한 상세 정보 표시까지 중에서 또는 디버그 설정에서 세부 정보 표시를 선택합니다. 이는 세부 정보 보고서 뷰에만 표시됩니다. 상세 로깅에는 모든 명령 출력이 포함됩니다. 디버그 로깅은 매우 상세하며 특정 지원 인스턴스에서 유용할 수 있는 SSH 작업에 대한 정보를 포함합니다.
상세 정보 표시
5
로 인해 작업이 실행 중일 때 자동화 컨트롤러가 크게 차단되므로 작업이 완료되었음을 보고가 지연될 수 있으며 브라우저 탭이 잠길 수 있습니다.제공됨
작업 분할
이 작업 템플릿을 실행할 슬라이스 수를 지정합니다. 각 슬라이스는 인벤토리 일부에 대해 동일한 작업을 실행합니다. 작업 슬라이스에 대한 자세한 내용은 작업 분할 을 참조하십시오.
제공됨
Timeout
이를 통해 작업이 취소되기 전에 작업을 실행할 수 있는 시간(초)을 지정할 수 있습니다. 시간 초과 값을 설정하려면 다음을 고려하십시오.
- 설정에 정의된 글로벌 시간 초과가 0으로 지정되어 있으며 시간 초과가 없음을 나타냅니다.
- 작업 템플릿의 음수 시간 초과(<0)는 작업에 대한 실제 "시간 초과 없음"입니다.
- 작업 템플릿의 시간 초과는 기본적으로 작업을 글로벌 시간 초과(기본적으로 시간 초과)로 설정합니다.
- 시간 초과가 양수이면 해당 작업 템플릿의 시간 초과가 설정됩니다.
제공됨
변경 사항 표시
Ansible 작업에서 변경한 내용을 볼 수 있습니다.
제공됨
인스턴스 그룹
이 작업 템플릿 과 연결할 인스턴스 및 컨테이너 그룹을 선택합니다. 목록이 긴 경우
아이콘을 사용하여 옵션 범위를 좁힙니다. 작업 템플릿 인스턴스 그룹은 작업 스케줄링 기준에 기여하고 작업 런타임 동작 및 규칙에 대한 작업이 실행되는 위치를 제어 합니다. 시스템 관리자는 작업 템플릿에서 인스턴스 그룹을 사용할 수 있도록 사용자 또는 팀 권한을 부여해야 합니다. 컨테이너 그룹을 사용하려면 admin 권한이 필요합니다.
- 제공됨
선택하는 경우 기본 설정 순서대로 작업을 선호하는 인스턴스 그룹을 제공합니다. 첫 번째 그룹이 용량이 부족하면 해당 그룹이 작업을 실행하도록 선택한 시점에 용량이 있는 그룹을 사용할 수 있을 때까지 목록의 이후 그룹이 고려됩니다.
- 인스턴스 그룹을 입력하라는 메시지가 표시되면 일반 인스턴스 그룹 계층 구조를 입력하고 조직의 모든 및 인벤토리 인스턴스 그룹을 덮어씁니다.
- 인스턴스 그룹 프롬프트는 이후 프롬프트 창에 자체 단계로 표시됩니다.
작업 태그
를 입력하고 Create 메뉴를 선택하여 실행해야 하는 플레이북의 부분을 지정합니다. 자세한 내용 및 예제는 Ansible 문서의 태그 를 참조하십시오.
제공됨
태그 건너뛰기
를 입력하고 Create 메뉴를 선택하여 건너뛸 플레이북의 특정 작업 또는 일부를 지정합니다. 자세한 내용 및 예제는 Ansible 문서의 태그 를 참조하십시오.
제공됨
추가 변수
- 플레이북에 추가 명령행 변수를 전달합니다. 이는 런타임 시 변수 정의 의 Ansible 문서에 설명되어 있는 ansible-playbook의 "-e" 또는 "-extra-vars" 명령줄 매개변수입니다.
-
YAML 또는 JSON을 사용하여 키 또는 값 쌍을 제공합니다. 이러한 변수에는 우선순위 최대값이 있으며 다른 위치에 지정된 다른 변수를 덮어씁니다. 다음은
git_branch: production release_version: 1.5
의 예입니다.
제공됨
일정에
extra_vars
를 지정하려면 작업 템플릿에서 변수 시작 시 프롬프트 를 선택하거나 작업 템플릿에서 설문 조사를 활성화해야 합니다. 답변된 설문 조사 질문이extra_vars
가 됩니다.필요한 경우 이 템플릿을 시작하기 위해 다음 옵션을 설정할 수 있습니다.
-
권한 에스컬레이션: 이 플레이북을 선택하면 관리자로 실행되도록 합니다.
--become
옵션을ansible-playbook
명령에 전달하는 것과 동일합니다. - provisioning 콜백: 이 옵션을 선택하면 호스트에서 REST API를 통해 자동화 컨트롤러로 다시 호출하고 이 작업 템플릿에서 작업을 시작할 수 있습니다. 자세한 내용은 프로비저닝 콜백을 참조하십시오.
Webhook 활성화: 이 옵션을 선택하면 작업 템플릿을 시작하는 데 사용되는 사전 정의된 SCM 시스템 웹 서비스와 연결하는 기능을 켭니다. GitHub 및 GitLab은 지원되는 SCM 시스템입니다. Webhook를 활성화하면 다른 필드가 표시되면서 추가 정보를 요청합니다.
- Webhook 서비스: Webhook에서 수신 대기할 서비스를 선택합니다.
- Webhook URL: 요청을 POST하는 Webhook 서비스의 URL이 자동으로 채워집니다.
- Webhook 키: Webhook 서비스에서 자동화 컨트롤러로 전송된 페이로드에 서명하는 데 사용할 공유 시크릿을 생성합니다. 자동화 컨트롤러에서 이 서비스의 Webhook를 수락하려면 Webhook 서비스의 설정에서 이를 구성해야 합니다.
Webhook 인증 정보: 필요한 경우 Webhook 서비스로 상태 업데이트를 다시 보내는 데 사용할 인증 정보로 GitHub 또는 GitLab PAT(개인 액세스 토큰)을 제공합니다.
인증 정보를 선택하려면 인증 정보가 있어야 합니다.
생성할 인증 정보 유형을 참조하십시오.
- Webhook 설정에 대한 자세한 내용은 Webhook 작업을 참조하십시오.
- 동시 작업: 이 옵션을 선택하면 서로 의존하지 않는 경우 대기열의 작업을 동시에 실행할 수 있습니다. 작업 슬라이스를 동시에 실행하려면 이 박스를 선택합니다. 자세한 내용은 자동화 컨트롤러 용량 결정 및 작업 영향을 참조하십시오.
- 활성화 팩트 스토리지: 이 옵션을 선택하면 자동화 컨트롤러는 실행 중인 작업과 관련된 인벤토리의 모든 호스트에 대해 수집된 팩트를 저장합니다.
- 인스턴스 그룹 폴백 방지: 이 옵션을 사용하여 인스턴스 그룹 필드에 나열된 인스턴스 그룹 만 작업을 실행할 수 있도록 허용합니다. 명확한 경우 실행 풀에서 사용 가능한 모든 인스턴스는 작업이 실행되는 위치 제어에 설명된 계층에 따라 사용됩니다.
-
권한 에스컬레이션: 이 플레이북을 선택하면 관리자로 실행되도록 합니다.
- 을 클릭합니다.
템플릿을 생성하면 작업 템플릿 페이지가 종료되지 않고 작업 템플릿 세부 정보 탭으로 이동합니다. 템플릿을 저장한 후 템플릿 시작을 클릭하여 시작할 수 있습니다. 을 클릭하여 권한, 알림, 완료된 작업 보기, 설문 조사(작업 유형이 검사가 아닌 경우)와 같은 템플릿 속성을 추가하거나 변경할 수도 있습니다. 시작하기 전에 템플릿을 먼저 저장해야 합니다. 그러지 않으면 은 비활성화된 상태로 유지됩니다.
검증
- 탐색 패널에서 → 선택합니다.
- 새로 생성된 템플릿이 템플릿 페이지에 표시되는지 확인합니다.
3.12.3. 작업 템플릿 편집
초기 설정의 일부로 기본 데모 작업 템플릿을 그대로 둘 수 있지만 나중에 편집할 수 있습니다.
프로세스
다음 방법 중 하나를 사용하여 편집할 템플릿을 엽니다.
- 작업 템플릿 세부 정보 페이지에서 클릭합니다.
- 탐색 패널에서 → 선택합니다. 템플릿 이름 옆에 있는 을 클릭하고 적절한 세부 정보를 편집합니다.
변경 사항을 저장하십시오.
- 저장 후 종료하고 템플릿 목록 보기로 돌아가려면 이동 경로 탐색 링크를 사용하거나 를 클릭합니다. 클릭하면 세부 정보 대화 상자가 종료되지 않습니다.
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 이면 룰북 활성화가 백그라운드에서 실행 중이고 룰북에 선언된 규칙에 따라 필요한 작업을 실행합니다.
규칙북 활성화 목록 보기에서 활성화를 선택하여 자세한 정보를 볼 수 있습니다.
![Rulebook activation][width=25px](https://access.redhat.com/webassets/avalon/d/Red_Hat_Ansible_Automation_Platform-2.5-Getting_started_with_Ansible_Automation_Platform-ko-KR/images/2b2fdf25e67d6f64b92e05f42a6918c4/eda-rulebook-activations-list-view.png)
실행된 모든 활성화의 경우 세부 정보 및 기록 탭을 보고 발생한 사항에 대한 자세한 정보를 얻을 수 있습니다.
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
- 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 소스의 경로 예제입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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로 테스트합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'
curl -H "Content-Type: application/json" -X POST test-sync-bug-dynatrace.apps.aap-dt.ocp4.testing.ansible.com -d '{}'
참고Route(targetPort)에 지정되어 있으므로 포트가 필요하지 않습니다.
4장. 자동화 운영자로 시작하기
자동화 운영자인 Ansible Automation Platform은 조직의 Red Hat 인증 컬렉션 또는 사용자 정의 콘텐츠를 사용하여 자동화 프로젝트를 구성하고 관리하는 데 도움이 될 수 있습니다.
플랫폼 운영자로 시작하려면 다음 섹션을 참조하십시오.
4.1. 플레이북 시작하기
플레이북은 위에서 아래로 작업을 실행합니다. 각 플레이 내에서 작업도 위에서 아래로 실행됩니다.
4.1.1. Playbook에 대해 알아보기
여러 "플레이"가 있는 플레이북은 다중 시스템 배포를 오케스트레이션하고, 웹 서버에서 하나의 플레이를 실행하고, 데이터베이스 서버에서 다른 플레이와 네트워크 인프라에서 세 번째 플레이가 실행될 수 있습니다.
자세한 내용은 플레이북 시작하기를 참조하십시오.
4.2. 플레이북 작성
호스트를 ping하고 "Hello world" 메시지를 출력하는 플레이북을 생성합니다.
Ansible은 YAML 구문을 사용합니다. YAML은 복잡한 코딩 언어를 배울 필요 없이 플레이북을 생성할 수 있는 사람이 읽을 수 있는 언어입니다.
프로세스
다음 콘텐츠를 사용하여
ansible_quickstart
디렉터리에playbook.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - name: My first play hosts: myhosts tasks: - name: Ping my hosts ansible.builtin.ping: - name: Print message ansible.builtin.debug: msg: Hello world
- name: My first play hosts: myhosts tasks: - name: Ping my hosts ansible.builtin.ping: - name: Print message ansible.builtin.debug: msg: Hello world
Playbook을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i inventory.ini playbook.yaml
$ ansible-playbook -i inventory.ini playbook.yaml
Ansible은 다음 출력을 반환합니다.
PLAY [My first play] ******************************************************** TASK [Gathering Facts] ****************************************************** ok: [192.0.2.50] ok: [192.0.2.51] ok: [192.0.2.52] TASK [Ping my hosts] ******************************************************** ok: [192.0.2.50] ok: [192.0.2.51] ok: [192.0.2.52] TASK [Print message] ******************************************************** ok: [192.0.2.50] => { "msg": "Hello world" } ok: [192.0.2.51] => { "msg": "Hello world" } ok: [192.0.2.52] => { "msg": "Hello world" } PLAY RECAP ****************************************************************** 192.0.2.50: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 192.0.2.51: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 192.0.2.52: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
PLAY [My first play] ********************************************************
TASK [Gathering Facts] ******************************************************
ok: [192.0.2.50]
ok: [192.0.2.51]
ok: [192.0.2.52]
TASK [Ping my hosts] ********************************************************
ok: [192.0.2.50]
ok: [192.0.2.51]
ok: [192.0.2.52]
TASK [Print message] ********************************************************
ok: [192.0.2.50] => {
"msg": "Hello world"
}
ok: [192.0.2.51] => {
"msg": "Hello world"
}
ok: [192.0.2.52] => {
"msg": "Hello world"
}
PLAY RECAP ******************************************************************
192.0.2.50: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.0.2.51: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.0.2.52: ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
추가 리소스
- 플레이북에 대한 자세한 내용은 플레이북 시작하기를 참조하십시오.
- 플레이북 작성에 도움이 필요한 경우 IBM watsonx Code Assistant를 사용하여 Red Hat Ansible Lightspeed 를 참조하십시오.
4.3. Ansible 역할과 함께 번들 콘텐츠
역할은 시스템의 특정 요구에 맞게 플레이북에서 관련 비트를 함께 번들하는 사용자 지정 자동화 콘텐츠와 같습니다. 역할은 자체 포함되고 이식 가능하며 복잡한 자동화 흐름을 오케스트레이션하기 위해 작업, 변수, 구성 템플릿, 처리기 및 기타 지원 파일의 그룹화를 포함할 수 있습니다.
수백 개의 작업으로 대규모 플레이북을 생성하는 대신 역할을 사용하여 작업을 더 작고 개별 작업 단위로 분할할 수 있습니다.
역할에 대한 자세한 내용은 Ansible 역할이란 무엇이며 사용 방법을 참조하십시오.
4.3.1. 역할 생성
Ansible Automation Platform 번들에 포함된 Ansible Galaxy CLI 툴을 사용하여 역할을 생성할 수 있습니다. role 하위 명령에서 역할
별 명령에 액세스합니다.
ansible-galaxy role init <role_name>
ansible-galaxy role init <role_name>
컬렉션 이외의 독립 실행형 역할이 지원됩니다. 컬렉션 내에 새 역할을 생성하여 Ansible Automation Platform이 제공해야 하는 기능을 활용합니다.
프로세스
-
터미널에서 컬렉션 내의
역할
디렉터리로 이동합니다. 컬렉션 내에
my_role
이라는 역할을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-galaxy role init my_role
$ ansible-galaxy role init my_role
이제 이 예제에서 볼 수 있듯이 컬렉션에는
역할
디렉터리 내에my_role
이라는 역할이 포함됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name> ... └── roles/ └── my_role/ ├── .travis.yml ├── README.md ├── defaults/ │ └── main.yml ├── files/ ├── handlers/ │ └── main.yml ├── meta/ │ └── main.yml ├── tasks/ │ └── main.yml ├── templates/ ├── tests/ │ ├── inventory │ └── test.yml └── vars/ └── main.yml
~/.ansible/collections/ansible_collections/<my_namespace>/<my_collection_name> ... └── roles/ └── my_role/ ├── .travis.yml ├── README.md ├── defaults/ │ └── main.yml ├── files/ ├── handlers/ │ └── main.yml ├── meta/ │ └── main.yml ├── tasks/ │ └── main.yml ├── templates/ ├── tests/ │ ├── inventory │ └── test.yml └── vars/ └── main.yml
--role-skeleton
인수를 사용하여 사용자 지정 역할 skeleton 디렉터리를 제공할 수 있습니다. 이를 통해 조직은 요구 사항에 맞게 새 역할에 맞게 표준화된 템플릿을 생성할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-galaxy role init my_role --role-skeleton ~/role_skeleton
$ ansible-galaxy role init my_role --role-skeleton ~/role_skeleton
이렇게 하면
~/role_skeleton
의 콘텐츠를my_role
에 복사하여my_role
이라는 역할이 생성됩니다.role_skeleton
의 내용은 역할 디렉터리 내에서 유효한 모든 파일 또는 폴더일 수 있습니다.
4.4. 자동화 콘텐츠 정보
다음 Ansible 개념을 사용하여 Ansible 개발 프로젝트를 시작하기 전에 성공적인 Ansible 플레이북 및 자동화 실행 환경을 생성합니다.
4.4.1. 콘텐츠 컬렉션 정보
Ansible 콘텐츠 컬렉션은 자동화 콘텐츠의 취약점입니다. Ansible 컬렉션에는 다음 두 가지 유형이 있습니다.
- Ansible 인증 콘텐츠 컬렉션: 환경에서 사용할 수 있는 엔터프라이즈급 역할 및 모듈이 포함되어 있습니다.
- Ansible 검증 콘텐츠 컬렉션: 제품에서 기본 작업 및 작업을 수행하기 위한 신뢰할 수 있는 전문 가이드 접근 방식을 제공합니다.
두 유형의 콘텐츠 컬렉션은 모두 하이브리드 클라우드 콘솔 을 통해 자동화 허브에서 찾을 수 있습니다.
4.4.2. 콘텐츠 다운로드
컬렉션이 완료되면 조직 전체의 다른 사용자에게 배포할 수 있는 위치로 가져올 수 있습니다.
프로세스
- Red Hat Ansible Automation Platform에 로그인합니다.
- 탐색 패널에서 컬렉션 페이지에는 모든 리포지토리의 모든 컬렉션이 표시됩니다. 특정 컬렉션을 검색할 수 있습니다. → .
- 내보낼 컬렉션을 선택합니다. 컬렉션 세부 정보 페이지가 열립니다.
-
Install 탭에서 tarball 다운로드를 선택합니다.
.tar
파일은 기본 브라우저 다운로드 폴더에 다운로드됩니다. 이제 선택한 위치로 가져올 수 있습니다.
4.5. 컬렉션에 게시
Git에 업로드하거나 선택한 소스 제어 관리자에게 프로젝트를 구성할 수 있습니다.
프로세스
- 탐색 패널에서 → 선택합니다.
- 소스 제어 관리자에 게시할 프로젝트를 검색하거나 생성합니다.
- 프로젝트 세부 정보 탭에서 프로젝트 편집을 선택합니다.
- 소스 제어 유형 드롭다운 메뉴에서 Git 을 선택합니다.
다음 필드에 적절한 세부 정보를 입력합니다.
- 소스 제어 URL - 툴팁에 예제를 참조하십시오.
-
선택 사항: 소스 제어 분기/태그/커밋: 체크아웃할 소스 제어에서 SCM 분기, 태그, 커밋 해시, 임의의 refs 또는 버전 번호(해당되는 경우)를 입력합니다. 다음 필드에 사용자 정의 refspec을 제공하지 않는 한 일부 커밋 해시 및 참조를 사용할 수 없습니다. 비워 두면 기본값은
HEAD
입니다. 이 분기는 마지막으로 체크아웃된 분기, 태그 또는 이 프로젝트에 대한 커밋입니다. - 소스 제어 참조 사양 - 이 필드는 Git 소스 제어와 관련된 옵션이며 Git에 익숙하고 편안한 고급 사용자만 원격 리포지토리에서 다운로드할 참조를 지정해야 합니다. 자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
- 소스 제어 인증 정보 - 인증이 필요한 경우 적절한 소스 제어 인증 정보를 선택합니다.
선택 사항: 옵션 - 해당하는 경우 시작 동작을 선택합니다.
- clean - 업데이트를 수행하기 전에 로컬 수정 사항을 제거합니다.
- delete - 업데이트를 수행하기 전에 전체 로컬 리포지토리를 삭제합니다. 리포지토리 크기에 따라 업데이트를 완료하는 데 필요한 시간이 크게 증가할 수 있습니다.
- 하위 모듈 추적 - 최신 커밋을 추적합니다. 자세한 내용은 툴팁을 참조하십시오.
- 시작 시 버전 업데이트 - 프로젝트의 버전을 원격 소스 제어의 현재 버전으로 업데이트하고 Ansible Galaxy 또는 컬렉션 지원 의 역할 디렉터리를 캐시합니다. 자동화 컨트롤러를 사용하면 로컬 버전이 일치하고 역할 및 컬렉션이 마지막 업데이트와 함께 최신 상태인지 확인합니다. 또한 프로젝트에서 동기화할 수 있는 것보다 작업이 더 빨리 생성되는 경우 작업 오버플로를 방지하기 위해 이를 선택하면 지정된 초 동안 이전 프로젝트 동기화를 캐시하도록 캐시 시간 초과를 구성할 수 있습니다.
- 분기 덮어쓰기 허용 - 이 프로젝트를 사용하여 프로젝트의 해당 항목 이외의 지정된 SCM 분기 또는 버전으로 시작하는 작업 템플릿 또는 인벤토리 소스를 활성화합니다. 자세한 내용은 작업 분기 덮어쓰기를 참조하십시오.
- 클릭하여 프로젝트를 저장합니다.
4.5.1. 자동화 허브에서 컬렉션 관리
플랫폼 운영자는 자동화 허브에서 네임스페이스를 사용하여 다음과 같은 목적으로 컬렉션을 큐레이트하고 관리할 수 있습니다.
- 네임스페이스를 선별하고 컬렉션을 프라이빗 자동화 허브에 업로드할 수 있는 권한이 있는 그룹을 생성합니다.
- 네임스페이스에 정보와 리소스를 추가하여 자동화 작업에서 컬렉션의 최종 사용자를 지원합니다.
- 컬렉션을 네임스페이스에 업로드합니다.
- 네임스페이스 가져오기 로그를 확인하여 컬렉션 및 현재 승인 상태를 업로드의 성공 또는 실패를 결정합니다.
컬렉션에 대한 자세한 내용은 자동화 콘텐츠 관리를 참조하십시오.
4.5.2. 자동화 허브에 컬렉션 업로드
Ansible 커뮤니티의 나머지 부분과 생성한 컬렉션을 공유하려면 자동화 허브에 업로드할 수 있습니다.
Ansible 커뮤니티와 컬렉션을 공유하려면 파트너 엔지니어링 팀이 인증 또는 검증한 컬렉션을 받아야 합니다. 이 작업은 파트너 고객에게만 제공됩니다. 파트너가 되는 방법에 대한 자세한 내용은 소프트웨어 인증에 대한 설명서를 참조하십시오.
자동화 허브 사용자 인터페이스 또는 ansible-galaxy
클라이언트를 사용하여 컬렉션을 업로드할 수 있습니다.
사전 요구 사항
-
자동화 허브를 위해
ansible-galaxy
클라이언트를 구성했습니다. - 네임스페이스가 하나 이상 있어야 합니다.
-
ansible-test sanity
를 통해 모든 콘텐츠를 실행
프로세스
- 탐색 패널에서 → 선택합니다.
- 내 네임스페이스 탭에서 컬렉션을 업로드할 네임스페이스를 찾아 클릭합니다.
- 컬렉션 탭을 선택한 다음 를 클릭합니다.
- 새 컬렉션 모달에서 파일 선택을 클릭합니다. 시스템에서 파일을 찾습니다.
- 를 클릭합니다.
ansible-galaxy
클라이언트를 사용하여 다음 명령을 입력합니다.
ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
$ ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
4.6. 실행 환경 빌드 및 사용
Red Hat Ansible Automation Platform의 모든 자동화는 자동화 실행 환경이라는 컨테이너 이미지에서 실행됩니다.
자동화 실행 환경은 Ansible 제어 노드 역할을 하는 일관되고 공유 가능한 컨테이너 이미지입니다. 자동화 실행 환경은 외부 종속 항목이 있는 Ansible 콘텐츠를 공유하는 데 어려움을 줄일 수 있습니다. 자동화 콘텐츠가 개발자가 작성한 스크립트와 같은 경우 자동화 실행 환경은 개발자 환경의 복제본과 동일하므로 개발자가 작성한 자동화 콘텐츠를 재현하고 확장할 수 있습니다. 이러한 방식으로 실행 환경을 사용하면 다양한 환경에서 자동화를 더 쉽게 구현할 수 있습니다.
자동화 실행 환경에는 다음이 포함됩니다.
- Ansible Core
- Ansible Runner
- Ansible 컬렉션
- Python 라이브러리
- 시스템 종속 항목
- 사용자 정의 사용자 요구 사항
Ansible Automation Platform 서브스크립션에 포함된 기본 기본 실행 환경을 사용하거나 Ansible Builder를 사용하여 자동화 실행 환경을 정의하고 생성할 수 있습니다.
4.6.1. 기본 자동화 실행 환경 사용
Ansible Automation Platform을 사용한 서브스크립션을 사용하면 일부 기본 자동화 실행 환경에 액세스할 수 있습니다. 기본 자동화 실행 환경을 사용자 지정 실행 환경을 생성하기 위한 시작점으로 사용할 수 있습니다.
Ansible Automation Platform에 포함된 기본 이미지는 Red Hat Ecosystem Catalog(registry.redhat.io)에서 호스팅됩니다.
사전 요구 사항
- 유효한 Red Hat Ansible Automation Platform 서브스크립션이 있어야 합니다.
프로세스
registry.redhat.io에 로그인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman login registry.redhat.io
$ podman login registry.redhat.io
- 레지스트리에서 기본 이미지를 가져옵니다.
$podman pull registry.redhat.io/aap/<image name>
$podman pull registry.redhat.io/aap/<image name>
4.6.1.1. 기본 실행 환경 이미지 사용자 정의
Ansible Automation Platform에는 다음과 같은 기본 실행 환경이 포함되어 있습니다.
-
최소
- Ansible Runner와 함께 최신 Ansible-core 2.15 릴리스를 포함하지만 컬렉션 또는 기타 콘텐츠는 포함되지 않습니다. -
EE 지원
- 최소 및 모든 Red Hat 지원 컬렉션 및 종속 항목
이러한 환경에서는 많은 자동화 사용 사례를 다루지만 특정 요구 사항에 맞게 이러한 컨테이너를 사용자 정의하기 위해 추가 항목을 추가할 수 있습니다. 실행 환경 사용자 지정에 대한 자세한 내용은 실행 환경 생성 및 사용 가이드의 기존 자동화 실행 환경 이미지 사용자 지정을 참조하십시오.
4.6.1.2. Ansible 빌더 정보
또한 실행 환경 빌더라고도 하는 Ansible Builder를 사용하여 완전히 새로운 실행 환경을 생성하는 옵션도 있습니다. Ansible Builder는 Ansible의 실행 환경을 생성하는 데 사용할 수 있는 명령줄 툴입니다. Ansible Builder를 사용하여 실행 환경만 생성할 수 있습니다.
자체 실행 환경을 빌드하려면 다음을 수행해야 합니다.
- Ansible 빌더 다운로드
- 실행 환경을 정의하는 정의 파일을 생성
- 정의 파일을 기반으로 실행 환경 이미지 생성
실행 환경 빌드에 대한 자세한 내용은 실행 환경 생성 및 사용을 참조하십시오.
4.6.2. 작업 템플릿에 실행 환경 추가
사전 요구 사항
- 실행 환경은 실행 환경 빌드에 설명된 대로 ansible-builder를 사용하여 생성해야 합니다. https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/using_automation_execution/assembly-controller-execution-environments#ref-controller-build-exec-envs 실행 환경이 생성되면 이를 사용하여 작업을 실행할 수 있습니다. 자동화 컨트롤러 UI를 사용하여 작업 템플릿에서 사용할 실행 환경을 지정합니다.
- 조직에서 전역적으로 사용하거나 연결된 방식으로 실행 환경을 사용할 수 있는지 여부에 따라 작업에서 실행 환경을 사용하려면 적절한 수준의 관리자 권한이 있어야 합니다. 조직에 연결된 실행 환경에서는 조직 관리자가 해당 실행 환경에서 작업을 실행할 수 있어야 합니다.
- 인증 정보가 할당된 실행 환경을 사용하는 작업 또는 작업 템플릿을 실행하기 전에 인증 정보에 사용자 이름, 호스트 및 암호가 포함되어 있는지 확인합니다.
프로세스
- 탐색 패널에서 선택합니다.
- 를 클릭하여 실행 환경을 추가합니다.
다음 필드에 적절한 세부 정보를 입력합니다.
- 이름 (필수): 실행 환경의 이름을 입력합니다.
-
이미지 (필수): 이미지 이름을 입력합니다. 이미지 이름에
quay.io/ansible/awx-ee:latestrepo/project/image-name:tag
형식의 전체 위치(repository), 레지스트리, 이미지 이름, 버전 태그가 필요합니다. 선택 사항: 가져오기: 작업을 실행할 때 가져오기 유형을 선택합니다.
- 항상 실행 전에 컨테이너를 가져옵니다. 컨테이너의 최신 이미지 파일을 가져옵니다.
- 실행하기 전에 존재하지 않는 경우에만 이미지를 가져옵니다. : 항목이 지정되지 않은 경우에만 최신 이미지를 가져옵니다.
실행하기 전에 컨테이너를 가져오지 마십시오. 컨테이너 이미지의 최신 버전을 가져오지 마십시오.
참고가져오기 유형을 설정하지 않으면 기본값은 실행하기 전에 존재하지 않는 경우에만 이미지를 가져옵니다.
- 선택 사항: 설명:
- 선택 사항: 조직: 구체적으로 이 실행 환경을 사용하도록 조직을 할당합니다. 여러 조직에서 실행 환경을 사용할 수 있도록 하려면 이 필드를 비워 둡니다.
- Registry Credential: 이미지에 보호된 컨테이너 레지스트리가 있는 경우 액세스할 수 있는 인증 정보를 제공합니다.
새로 추가된 실행 환경을 작업 템플릿에서 사용할 준비가 되었습니다.
- 작업 템플릿에 실행 환경을 추가하려면 작업 템플릿의 실행 환경 필드에 지정합니다.
작업 템플릿에 실행 환경을 추가하면 해당 템플릿이 실행 환경의 템플릿 탭에 나열됩니다.
4.7. 자동화 실행 프로젝트
프로젝트는 Ansible Automation Platform에서 관리할 수 있는 Ansible 플레이북의 논리 컬렉션입니다.
플랫폼 관리자와 자동화 개발자는 프로젝트를 생성할 수 있는 권한이 있습니다. 자동화 운영자는 프로젝트를 보고 동기화할 수 있습니다.
4.7.1. 프로젝트 세부 정보 보기
프로젝트 페이지에는 현재 사용 가능한 프로젝트 목록이 표시됩니다.
- 탐색 패널에서 → 선택합니다.
- 프로젝트를 클릭하여 세부 정보를 확인합니다.
- 나열된 각 프로젝트에 대해 각 프로젝트 옆에 있는 아이콘을 사용하여 최신 버전을 동기화하거나, 프로젝트를 편집하거나, 프로젝트의 속성을 복사할 수 있습니다.
4.8. 작업 템플릿 작업
작업 템플릿은 Ansible 작업을 실행하기 위한 매개 변수 정의 및 집합입니다.
작업 템플릿은 프로젝트의 Ansible 플레이북과 작업을 시작하는 데 필요한 설정과 결합합니다. 작업 템플릿은 동일한 작업을 여러 번 실행하는 데 유용합니다. 또한 작업 템플릿은 Ansible Playbook 콘텐츠의 재사용과 팀 간 협업을 권장합니다. 자세한 내용은 자동화 실행 가이드의 작업 템플릿을 참조하십시오.
플랫폼 관리자와 자동화 개발자는 작업 템플릿을 생성할 수 있는 권한이 있습니다. 자동화 운영자는 작업 템플릿을 시작하고 세부 정보를 볼 수 있습니다.
4.8.1. 작업 템플릿 시작
Ansible Automation Platform은 Ansible 플레이북의 푸시 버튼 배포를 제공합니다. 일반적으로 명령줄에서 Ansible 플레이북에 전달하는 모든 매개 변수를 저장하도록 템플릿을 구성할 수 있습니다. 플레이북 외에도 템플릿은 인벤토리, 인증 정보, 추가 변수, 명령줄에서 지정할 수 있는 모든 옵션 및 설정을 전달합니다.
프로세스
- 탐색 패널에서 → 선택합니다.
- 템플릿을 선택하여 세부 정보를 확인합니다. 기본 작업 템플릿은 초기 설정 중에 생성되어 시작하는 데 도움이 되지만 직접 만들 수도 있습니다.
- 템플릿 페이지에서 시작 아이콘을 클릭하여 작업 템플릿을 실행합니다.
템플릿 목록 보기에는 현재 사용 가능한 작업 템플릿이 표시됩니다. 기본 뷰는 접혀 있으며(콤팩트) 템플릿 이름, 템플릿 유형 및 해당 템플릿을 사용하여 실행된 마지막 작업의 타임스탬프를 표시합니다. 각 항목 옆에 있는 화살표 아이콘을 클릭하여 자세한 정보를 확장할 수 있습니다. 이 목록은 이름에 따라 알파벳순으로 정렬되지만 다른 기준으로 정렬하거나 다양한 템플릿 필드 및 속성으로 검색할 수 있습니다.
이 화면에서 작업 템플릿을 시작, 편집 및 복사할 수 있습니다.
템플릿에 대한 자세한 내용은 자동화 실행 가이드의 작업 템플릿 및 워크플로우 작업 템플릿 섹션을 참조하십시오.
4.9. 인벤토리 정보
인벤토리는 Ansible Automation Platform에서 관리하는 호스트 컬렉션을 나열하는 파일입니다. 조직은 인벤토리에 할당되지만 인벤토리를 대상으로 플레이북을 시작하는 권한은 사용자 또는 팀 수준에서 제어됩니다.
플랫폼 관리자와 자동화 개발자에게는 인벤토리를 생성할 수 있는 권한이 있습니다. 자동화 운영자는 인벤토리 및 세부 정보를 볼 수 있습니다.
4.9.1. 인벤토리 실행
프로세스
탐색 패널에서 인벤토리 창에는 다음 정보와 함께 현재 사용 가능한 인벤토리 목록이 표시됩니다.
→ → 를 선택합니다.- name: 인벤토리 이름입니다.
status: 상태는 다음과 같습니다.
- success: 인벤토리 동기화가 성공적으로 완료되었습니다.
- disabled: 인벤토리에 추가된 인벤토리 소스가 없습니다.
- error: 인벤토리 소스가 오류로 완료되었습니다.
- type: 인벤토리가 표준 인벤토리, 스마트 인벤토리 또는 구성된 인벤토리인지 여부를 나타냅니다.
- Organization: 인벤토리가 속한 조직입니다.
- 인벤토리 그룹 및 호스트를 포함하여 인벤토리의 세부 정보 페이지를 표시할 인벤토리 이름을 선택합니다.
인벤토리에 대한 자세한 내용은 자동화 실행 사용 가이드의 인벤토리 섹션을 참조하십시오.
4.10. 자동화 실행 작업
작업은 호스트 인벤토리에 대해 Ansible 플레이북을 시작하는 Ansible Automation Platform의 인스턴스입니다.
4.10.1. 작업 상태 검토
작업 목록 보기에는 작업 목록과 해당 상태가 표시되며, 완료, 실패 또는 활성(실행 중인) 작업으로 표시됩니다.
프로세스
탐색 패널에서
→ .기본 뷰는 접혀 있으며(콤팩트) 작업 이름, 상태, 작업 유형, 시작 및 완료 시간을 사용합니다. 화살표 아이콘을 클릭하여 확장 및 자세한 정보를 볼 수 있습니다. 이 목록을 다양한 기준에 따라 정렬하고 검색을 수행하여 관심 있는 작업을 필터링할 수 있습니다.
이 화면에서 다음 작업을 완료할 수 있습니다.
- 작업의 세부 정보 및 표준 출력을 확인합니다.
- 작업을 다시 시작합니다.
- 선택한 작업을 제거합니다.
다시 시작 작업은 플레이북 실행 다시 시작에만 적용되며 프로젝트 또는 인벤토리 업데이트, 시스템 작업 또는 워크플로우 작업에는 적용되지 않습니다.
4.10.2. 작업 출력 검토
작업을 다시 시작하면 작업 출력 보기가 표시됩니다.
프로세스
- 탐색 패널에서 → .
작업을 선택합니다. 그러면 해당 작업의 출력 보기로 이동하여 다음 기준으로 작업 출력을 필터링할 수 있습니다.
- 검색 출력 옵션을 사용하면 키워드로 검색할 수 있습니다.
- Event 옵션을 사용하면 오류, 호스트 실패, 호스트 재시도 및 건너뛰는 항목과 같은 관심 있는 이벤트로 필터링할 수 있습니다. 필요에 따라 이벤트를 필터에 포함할 수 있습니다.