Ansible Automation Platform 문제 해결


Red Hat Ansible Automation Platform 2.4

Ansible Automation Platform 문제 해결

Red Hat Customer Content Services

초록

이 가이드에서는 Red Hat Ansible Automation Platform의 문제 해결 주제를 제공합니다.

머리말

Ansible Automation Platform 문제 해결 가이드를 사용하여 Ansible Automation Platform 설치 문제를 해결합니다.

Red Hat 문서에 관한 피드백 제공

이 문서를 개선하기 위한 제안이 있거나 오류를 찾을 수 있는 경우 https://access.redhat.com 에서 기술 지원에 문의하여 요청을 열 수 있습니다.

1장. 문제 진단

Ansible Automation Platform 문제 해결을 시작하려면 OpenShift Container Platform에서 must-gather 명령을 사용하거나 VM 기반 설치에서 sos 유틸리티를 사용하여 구성 및 진단 정보를 수집합니다. 이러한 유틸리티의 출력을 지원 케이스에 연결할 수 있습니다.

1.1. must-gather 명령을 사용하여 OpenShift Container Platform에서 Ansible Automation Platform 문제 해결

oc adm must-gather CLI(명령줄 인터페이스) 명령은 OpenShift Container Platform에 배포된 Ansible Automation Platform 설치에서 정보를 수집합니다. 리소스 정의 및 서비스 로그를 포함하여 문제를 디버깅하는 데 필요한 정보를 수집합니다.

oc adm must-gather CLI 명령을 실행하면 지원 케이스의 문제를 해결하거나 연결하는 데 사용할 수 있는 수집된 데이터가 포함된 새 디렉터리가 생성됩니다.

OpenShift 환경에서 registry.redhat.io 에 액세스할 수 없고 must-gather 명령을 실행할 수 없는 경우 대신 oc adm inspect 명령을 실행합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있어야 합니다.

프로세스

  1. 클러스터에 로그인합니다.

    oc login <openshift_url>
  2. 클러스터의 액세스 수준에 따라 다음 명령 중 하나를 실행합니다.

    • 전체 클러스터에서 must-gather 를 실행합니다.

      oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-24/aap-must-gather-rhel8 --dest-dir <dest_dir>
      • --image 는 데이터를 수집하는 이미지를 지정합니다.
      • --dest-dir 은 출력의 디렉터리를 지정합니다.
    • 클러스터의 특정 네임스페이스에 대해 must-gather 를 실행합니다.

      oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-24/aap-must-gather-rhel8 --dest-dir <dest_dir> – /usr/bin/ns-gather <namespace>
      • - /usr/bin/ns-gathermust-gather 데이터 수집을 지정된 네임스페이스로 제한합니다.
  3. must-gather 아카이브를 지원 케이스에 연결하려면 먼저 생성된 must-gather 디렉터리에서 압축 파일을 생성하고 지원 케이스에 연결합니다.

    • 예를 들어 Linux 운영 체제를 사용하는 컴퓨터에서 다음 명령을 실행하여 < must-gather-local.5421342344627712289/ >를 must-gather 디렉터리 이름으로 교체합니다.

      $ tar cvaf must-gather.tar.gz <must-gather.local.5421342344627712289/>

추가 리소스

1.2. sos 보고서를 생성하여 VM 기반 설치에서 Ansible Automation Platform 문제 해결

sos 유틸리티는 VM 기반 설치의 Ansible Automation Platform에서 구성, 진단 및 문제 해결 데이터를 수집합니다.

sos 유틸리티 설치 및 사용에 대한 자세한 내용은 기술 지원을 위한 sos 보고서 생성 을 참조하십시오.

2장. 자동화 컨트롤러 문제 해결을 위한 리소스

3장. 백업 및 복구

  • Ansible Automation Platform의 백업 및 복구 수행에 대한 자세한 내용은 Automation Controller 관리 가이드의 백업 및 복원을 참조하십시오.
  • OpenShift Container Platform에 Ansible Automation Platform Operator 설치의 백업 및 복구 문제 해결에 대한 자세한 내용은 Red Hat Ansible Automation Platform Operator 백업 및 복구 가이드의 문제 해결 섹션을 참조하십시오.

4장. 실행 환경

실행 환경의 문제를 해결합니다.

4.1. 문제 - 프라이빗 자동화 허브에서 실행 환경 이미지에 "컨트롤러에서 사용" 옵션을 선택할 수 없습니다

프라이빗 자동화 허브 에서 실행 환경 이미지에 컨트롤러 옵션 사용은 사용할 수 없습니다. 또한 "사용 가능한 컨트롤러가 없음"이라는 오류 메시지가 표시됩니다.

이 문제를 해결하려면 자동화 컨트롤러를 프라이빗 자동화 허브 인스턴스에 연결합니다.

프로세스

  1. 프라이빗 자동화 허브에서 /etc/pulp/settings.py 파일을 변경하고 구성에 따라 다음 매개변수 중 하나를 추가합니다.

    • 단일 컨트롤러

      CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.node>']
    • 로드 밸런서 뒤에 있는 많은 컨트롤러

      CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.loadbalancer>']
    • 로드 밸런서가 없는 많은 컨트롤러

      CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.node1>', '<https://my.controller2.node2>']
  2. 모든 프라이빗 자동화 허브 서비스를 중지합니다.

    # systemctl stop pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.service
  3. 모든 프라이빗 자동화 허브 서비스를 다시 시작하십시오.

    # systemctl start pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.service

검증

  • 이제 프라이빗 자동화 허브 에서 Controller에서 Use를 사용할 수 있는지 확인합니다.

5장. 설치

설치 문제를 해결합니다.

5.1. 문제 - Ansible Automation Platform 설치 프로그램과 함께 제공되는 특정 패키지를 찾을 수 없습니다

Ansible Automation Platform 설치 프로그램과 함께 제공되는 특정 패키지를 찾을 수 없거나 "구성에 의해 비활성화됨" 메시지가 표시됩니다.

이 문제를 해결하려면 명령줄에서 subscription-manager 명령을 사용하여 리포지토리를 활성화합니다. 이 문제 해결에 대한 자세한 내용은 Red Hat Ansible Automation Platform 계획 가이드에서 Red Hat Ansible Automation Platform 서브스크립션 연결 섹션을 참조하십시오.

6장. Jobs

작업 문제를 해결합니다.

6.1. 문제 - localhost에 대해 실행할 때 작업이 실패합니다.

Ansible Automation Platform 2 및 컨테이너화된 실행 환경에서 localhost의 사용이 변경되었습니다. 자세한 내용은 Red Hat Ansible Automation Platform 업그레이드 및 마이그레이션 가이드의 AAP 2용 플레이북 변환을 참조하십시오.

6.2. 문제 - "오류!에서 모듈/작업을 해결할 수 없음 오류 메시지로 작업이 실패합니다.

"ERROR! could't resolve module/action 'module name'이라는 오류 메시지와 함께 작업이 실패합니다. 이는 종종 철자가 잘못되었거나, 컬렉션이 없거나, 잘못된 모듈 경로를 나타냅니다.

이 오류는 모듈과 연결된 컬렉션이 실행 환경에서 누락된 경우 발생할 수 있습니다.

권장되는 해결 방법은 사용자 정의 실행 환경을 만들고 해당 실행 환경 내에 필요한 컬렉션을 추가하는 것입니다. 실행 환경 생성에 대한 자세한 내용은 실행 환경 생성 및 소비에서 Ansible 빌더 사용을 참조하십시오.

또는 다음 단계를 완료할 수 있습니다.

프로세스

  1. 프로젝트 리포지토리 내에 컬렉션 폴더를 생성합니다.
  2. collections 폴더 내에 requirements.yml 파일을 추가하고 컬렉션을 추가합니다.

    collections:
    - <collection_name>

6.3. 문제 - "권한 에스컬레이션 프롬프트를 기다리는 시간 제한 (12s) 오류 메시지로 작업이 실패합니다.

이 오류는 시간 초과 값이 너무 작으면 작업이 완료되기 전에 중지될 때 발생할 수 있습니다. 연결 플러그인의 기본 시간 초과 값은 10 입니다.

이 문제를 해결하려면 다음 절차 중 하나를 완료하여 시간 초과 값을 늘립니다.

참고

다음 변경 사항은 자동화 컨트롤러의 모든 작업에 영향을 미칩니다. 특정 프로젝트에 시간 초과 값을 사용하려면 프로젝트 디렉터리의 루트에 ansible.cfg 파일을 추가하고 timeout 매개 변수 값을 해당 ansible.cfg 파일에 추가합니다.

자동화 컨트롤러 UI에서 ANSIBLE_TIMEOUT을 환경 변수로 추가

  1. 자동화 컨트롤러로 이동합니다.
  2. 탐색 패널에서 SettingsJobs settings 를 선택합니다.
  3. 추가 환경 변수 에서 다음을 추가합니다.

    {
    "ANSIBLE_TIMEOUT": 60
    }

CLI를 사용하여 ansible.cfg 파일의 [defaults] 섹션에 시간 초과 값을 추가합니다.

  • /etc/ansible/ansible.cfg 파일을 편집하고 다음을 추가합니다.

    [defaults]
    timeout = 60

시간 초과를 사용하여 임시 명령 실행

  • 명령줄에서 애드혹 플레이북을 실행하려면 ansible-playbook 명령에 --timeout 플래그를 추가합니다. 예를 들면 다음과 같습니다.

    # ansible-playbook --timeout=60 <your_playbook.yml>

추가 리소스

  • DEFAULT_TIMEOUT 구성 설정에 대한 자세한 내용은 Ansible 커뮤니티 설명서의 DEFAULT_TIMEOUT 을 참조하십시오.

6.4. 문제 - 자동화 컨트롤러의 작업이 보류 중 상태로 유지됨

자동화 컨트롤러에서 작업을 시작한 후에는 작업이 보류 중 상태로 유지되며 시작되지 않습니다.

작업이 보류 중 상태에서 중단될 수 있는 몇 가지 이유가 있습니다. 이 문제 해결에 대한 자세한 내용은 Playbook이 자동화 컨트롤러 관리 가이드에서 보류 중 상태로 유지를 참조하십시오.

보류 중인 모든 작업 취소

  1. 다음 명령을 실행하여 보류 중인 모든 작업을 나열합니다.

    # awx-manage shell_plus
    >>> UnifiedJob.objects.filter(status='pending')
  2. 다음 명령을 실행하여 보류 중인 모든 작업을 취소합니다.

    >>> UnifiedJob.objects.filter(status='pending').update(status='canceled')

작업 ID를 사용하여 단일 작업 취소

  • 특정 작업을 취소하려면 다음 명령을 실행하여 < job_id >를 취소할 작업 ID로 교체합니다.

    # awx-manage shell_plus
    >>> UnifiedJob.objects.filter(id=_<job_id>_).update(status='canceled')

6.5. 문제 - 프라이빗 자동화 허브의 작업이 실패하고 "denied: requested access to the resource is denied, unauthorized: Insufficient permissions" 오류 메시지와 함께 실패합니다.

프라이빗 자동화 허브에서 실행 환경을 사용할 때 "denied: requested access to the resource is denied, unauthorized: Insufficient permissions" 오류 메시지와 함께 작업이 실패합니다.

이 문제는 프라이빗 자동화 허브가 암호 또는 토큰으로 보호되고 레지스트리 인증 정보가 실행 환경에 할당되지 않은 경우 발생합니다.

프로세스

  1. 자동화 컨트롤러로 이동합니다.
  2. 탐색 패널에서 관리실행 환경을 선택합니다.
  3. 실패한 작업 템플릿에 할당된 실행 환경을 클릭합니다.
  4. 편집을 클릭합니다.
  5. 프라이빗 자동화 허브의 적절한 레지스트리 인증 정보를 실행 환경에 할당합니다.

추가 리소스

  • 자동화 컨트롤러에서 새 인증 정보를 생성하는 방법에 대한 자세한 내용은 자동화 컨트롤러 사용자 가이드에서 새 인증 정보 생성 을 참조하십시오.

7장. 로그인

로그인 문제를 해결합니다.

7.1. 문제 - 자동화 컨트롤러 UI에 로그인하면 "잘못된 사용자 이름 또는 암호가 잘못되었습니다. 다시 시도하십시오."

자동화 컨트롤러 UI에 로그인하려고 하면 로그인이 실패하고 "잘못된 사용자 이름 또는 암호" 오류 메시지가 표시됩니다. 다시 시도하십시오."

이 문제가 발생할 수 있는 한 가지 이유는 동시에 로그인한 최대 세션 수 값이 0 인 경우입니다. 최대 동시 로그인 세션 값은 장치당 사용자당 허용되는 최대 세션 수를 결정합니다. 이 값이 0 이면 사용자가 자동화 컨트롤러에 로그인할 수 없습니다.

기본값은 -1 이며 허용되는 최대 세션을 비활성화합니다. 즉, 부과된 제한 없이 여러 세션을 보유할 수 있습니다.

프로세스

  • root 사용자로 명령줄에서 다음 명령을 실행하여 SESSIONS_PER_USER 변수를 -1 로 설정하여 허용되는 최대 세션을 비활성화합니다.

    # echo "settings.SESSIONS_PER_USER = -1" | awx-manage shell_plus --quiet

검증

  • 자동화 컨트롤러에 성공적으로 로그인할 수 있는지 확인합니다.

추가 리소스

8장. 네트워킹

네트워킹 문제를 해결합니다.

8.1. 문제 - Ansible Automation Platform 컨테이너에 사용되는 기본 서브넷이 내부 네트워크와 충돌합니다.

Ansible Automation Platform 컨테이너에 사용된 기본 서브넷은 내부 네트워크와 충돌하므로 "호스트 경로 없음" 오류가 발생합니다.

이 문제를 해결하려면 기본 Podman 네트워킹 플러그인에서 사용하는 CIDR과 충돌하지 않도록 기본 classless 도메인 간 라우팅(CIDR) 값을 업데이트합니다.

프로세스

  1. 모든 컨트롤러 및 하이브리드 노드에서 다음 명령을 실행하여 custom.py 라는 파일을 생성합니다.

    # touch /etc/tower/conf.d/custom.py
    # chmod 640 /etc/tower/conf.d/custom.py
    # chown root:awx /etc/tower/conf.d/custom.py
  2. /etc/tower/conf.d/custom.py 파일에 다음을 추가합니다.

    DEFAULT_CONTAINER_RUN_OPTIONS = ['--network', 'slirp4netns:enable_ipv6=true,cidr=192.0.2.0/24']
    • 192.0.2.0/24 는 이 예제에서 새 CIDR의 값입니다.
  3. 모든 컨트롤러 및 하이브리드 노드에서 자동화 컨트롤러 서비스를 중지하고 시작합니다.

    # automation-controller-service stop
    # automation-controller-service start

    모든 컨테이너는 새 CIDR에서 시작됩니다.

9장. 플레이북

자동화 콘텐츠를 사용하여 플레이북을 대화형으로 해결할 수 있습니다. 자동화 콘텐츠가 있는 플레이북 문제 해결에 대한 자세한 내용은 Automation 콘텐츠 탐색 가이드의 자동화 콘텐츠를 사용하여 Ansible 콘텐츠 문제 해결을 참조하십시오.

10장. 서브스크립션

자동화 컨트롤러 서브스크립션을 규정 준수로 유지하는 방법에 대한 자세한 내용은 Automation Controller 사용자 가이드의 문제 해결: 서브스크립션 준수 관리를 참조하십시오.

법적 공지

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.