Ansible Automation Platform 문제 해결


Red Hat Ansible Automation Platform 2.6

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 유틸리티를 사용하여 구성 및 진단 정보를 수집합니다. 이러한 유틸리티의 출력을 지원 케이스에 연결할 수 있습니다.

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>
    Copy to Clipboard Toggle word wrap
  2. 클러스터의 액세스 수준에 따라 다음 명령 중 하나를 실행합니다.

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

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

      oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-25/aap-must-gather-rhel8 --dest-dir <dest_dir> – /usr/bin/ns-gather <namespace>
      Copy to Clipboard Toggle word wrap
      • - /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/>
      Copy to Clipboard Toggle word wrap

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

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

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

다음 리소스를 사용하여 자동화 컨트롤러의 문제를 해결합니다.

3장. 백업 및 복구

이 정보를 사용하여 백업 및 복구 문제를 해결합니다.

  • Ansible Automation Platform의 백업 및 복구를 수행하는 방법에 대한 자세한 내용은 자동화 실행 구성백업 및 복원을 참조하십시오.
  • OpenShift Container Platform에 Ansible Automation Platform Operator 설치의 백업 및 복구 문제 해결에 대한 자세한 내용은 Operator 환경의 백업 및 복구 관련 문제 해결 섹션을 참조하십시오.

4장. 실행 환경

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

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

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

프로세스

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

    • 단일 컨트롤러

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

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

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

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

    # systemctl start pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.service
    Copy to Clipboard Toggle word wrap

    검증

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

5장. 설치

설치 문제를 해결합니다.

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

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

6장. Jobs

작업 문제를 해결합니다.

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

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

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

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

프로세스

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

    collections:
    - <collection_name>
    Copy to Clipboard Toggle word wrap

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

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

참고

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

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

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

    {
    "ANSIBLE_TIMEOUT": 60
    }
    Copy to Clipboard Toggle word wrap

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

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

    [defaults]
    timeout = 60
    Copy to Clipboard Toggle word wrap

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

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

    # ansible-playbook --timeout=60 <your_playbook.yml>
    Copy to Clipboard Toggle word wrap

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

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

작업이 보류 중 상태에서 중단될 수 있는 몇 가지 이유가 있습니다. 이 문제 해결에 대한 자세한 내용은 자동화 실행 구성에 Playbook이 보류 중 상태로 유지 됨을참조하십시오.

보류 중인 모든 작업 취소

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

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

    >>> UnifiedJob.objects.filter(status='pending').update(status='canceled')
    Copy to Clipboard Toggle word wrap

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

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

    # awx-manage shell_plus
    Copy to Clipboard Toggle word wrap
    >>> UnifiedJob.objects.filter(id=_<job_id>_).update(status='canceled')
    Copy to Clipboard Toggle word wrap

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

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

프로세스

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

7장. 네트워킹

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

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

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

프로세스

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

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

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

    # automation-controller-service stop
    Copy to Clipboard Toggle word wrap
    # automation-controller-service start
    Copy to Clipboard Toggle word wrap

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

7.2. SSL/TLS 문제 해결

SSL/TLS 관련 문제를 해결하려면 인증서 체인을 확인하고 올바른 인증서를 사용하여 신뢰할 수 있는 CA(인증 기관)가 인증서에 서명했는지 확인합니다.

프로세스

  1. SSL/TLS를 통해 서버에 연결할 수 있는지 확인합니다.

    1. 다음 명령을 실행하여 SSL/TLS를 통해 서버에 연결할 수 있는지 확인하고 전체 인증서 체인을 확인합니다.

      # true | openssl s_client -showcerts -connect <fqdn_or_ip>:<port>
      Copy to Clipboard Toggle word wrap
    2. &lt ;fqdn_or_ip > 및 < port&gt;를 적절한 값으로 바꿉니다.
  2. 인증서 세부 정보를 확인합니다.

    1. 다음 명령을 실행하여 인증서의 세부 정보를 확인합니다.

      # openssl x509 -in <path_to_certificate> -noout -text
      Copy to Clipboard Toggle word wrap
  3. & lt;path_to_certificate >를 검사하려는 인증서 파일의 경로로 바꿉니다.

    명령의 결과는 다음과 같은 정보를 표시합니다.

    • subject - 인증서가 발행된 엔터티입니다.
    • issuer - 인증서를 발급한 CA입니다.
    • 유효 기간 "이전 없음" - 인증서가 발행된 날짜입니다.
    • 유효 기간 "종료되지 않음" - 인증서가 만료된 날짜입니다.
  4. 신뢰할 수 있는 CA가 인증서에 서명했는지 확인합니다.

    1. 다음 명령을 실행하여 특정 인증서가 유효하고 신뢰할 수 있는 CA에서 서명했는지 확인합니다.

      openssl verify -CAfile <path_to_ca_public_certificate> <path_to_server_certificate_file_to_verify>
      Copy to Clipboard Toggle word wrap
    2. 명령에서 OK 를 반환하면 인증서 파일이 유효하고 신뢰할 수 있는 CA에서 서명했음을 의미합니다.

8장. 플레이북

자동화 콘텐츠를 사용하여 플레이북을 대화형으로 해결할 수 있습니다.

자동화 콘텐츠가 있는 플레이북 문제 해결에 대한 자세한 내용은 콘텐츠 탐색 가이드의 자동화 콘텐츠로 Ansible 콘텐츠 문제 해결을 참조하십시오.

9장. 업그레이드

Ansible Automation Platform 2.6으로 업그레이드할 때 문제를 해결합니다.

Ansible Automation Platform 2.4를 2.6으로 업그레이드할 때 업그레이드가 완료되지만 로드 밸런서 뒤에서 자동화 컨트롤러를 사용하는 경우 플랫폼 게이트웨이 URL에 대한 연결이 실패합니다. 다음과 같은 오류 메시지가 표시됩니다.

컨트롤러 API에 연결하는 중 오류 발생

이 문제를 해결하려면 모든 컨트롤러 호스트에 대해 다음 작업을 수행합니다.

  1. 각 컨트롤러 호스트에 대해 settings.py 파일의 CSRF_TRUSTED_ORIGIN 설정에서 플랫폼 게이트웨이 URL을 신뢰할 수 있는 소스로 추가합니다.

    예를 들어 플랫폼 게이트웨이 URL을 https://www.example.com 로 구성한 경우 다음과 같이 settings.py 파일에 해당 URL을 추가해야 합니다.

    CSRF_TRUSTED_ORIGINS = ['https://appX.example.com:8443','https://www.example.com']
    Copy to Clipboard Toggle word wrap
  2. URL 변경 사항이 구현되도록 automation-controller-service restart 명령을 사용하여 각 컨트롤러 호스트를 다시 시작합니다. 이 절차는 자동화 실행 구성에서 자동화 컨트롤러 시작, 중지 및 재시작 참조하십시오.

법적 공지

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

Theme

© 2025 Red Hat