콘텐츠 검색기 사용


Red Hat Ansible Automation Platform 2.6

Ansible Automation Platform과 호환되는 콘텐츠 개발

Red Hat Customer Content Services

초록

이 가이드에서는 자동화 콘텐츠를 사용하여 Ansible Automation Platform과 호환되는 Ansible 플레이북, 컬렉션 및 역할을 개발하는 방법을 보여줍니다.

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

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

1장. 자동화 콘텐츠 탐색 소개

콘텐츠 작성자는 자동화 콘텐츠를 사용하여 Red Hat Ansible Automation Platform과 호환되는 Ansible 플레이북, 컬렉션 및 역할을 개발할 수 있습니다. 다음 환경에서 자동화 콘텐츠를 사용하면 모든 환경에서 원활하고 예측 가능한 결과를 얻을 수 있습니다.

  • 로컬 개발 시스템
  • 자동화 실행 환경

자동화 컨텐츠는 또한 플레이북을 개발하고 문제 영역을 해결하는 데 사용할 수 있는 아티팩트 파일을 생성합니다.

참고

자동화 콘텐츠는 Ansible 개발 툴의 구성 요소입니다. 자동화 콘텐츠를 사용하려면 Ansible 개발 툴을 설치해야 합니다.

1.1. 자동화 콘텐츠 사용

Automation Content navigator는 텍스트 기반 사용자 인터페이스를 사용하는 명령줄, 컨텐츠-케이터 중심 툴입니다. 자동화 콘텐츠를 사용하여 다음을 수행할 수 있습니다.

  • 작업 및 플레이북을 시작하고 확인합니다.
  • 저장된 완료된 플레이북 및 작업 실행 아티팩트를 JSON 형식으로 공유합니다.
  • 자동화 실행 환경을 탐색하고 세부적으로 검사합니다.
  • 파일 기반 인벤토리를 검색합니다.
  • Ansible 모듈 설명서를 렌더링하고 플레이북에서 사용할 수 있는 예제를 추출합니다.
  • 사용자 인터페이스에서 자세한 명령 출력을 확인합니다.

1.2. 자동화 콘텐츠 탐색 모드

자동화 콘텐츠는 다음 두 가지 모드로 작동합니다.

stdout 모드
명령줄에서 기존 Ansible 명령 및 확장 기능을 대부분 허용합니다.
텍스트 기반 사용자 인터페이스 모드
Ansible 명령에 대화형 텍스트 기반 인터페이스를 제공합니다. 아티팩트 파일을 사용하여 실행한 후 콘텐츠를 평가하고 플레이북을 실행하고 문제를 해결하려면 이 모드를 사용합니다.

1.2.1. stdout 모드

자동화 콘텐츠로 -m stdout 하위 명령을 사용하여 자동화 실행 환경 또는 로컬 개발 환경 내에서 ansible-playbook 과 같은 친숙한 Ansible 명령을 사용합니다. 빠른 작업을 위해 익숙한 명령을 사용할 수 있습니다.

자동화 콘텐츠 탐색에서는 이 모드에서 광범위한 도움말도 제공합니다.

--help
ansible-navigator 명령 또는 ansible-navigator config --help 와 같은 하위 명령에서 액세스할 수 있습니다.
하위 명령 도움말
하위 명령에서 액세스할 수 있습니다(예: ansible-navigator config --help-config ). 이 도움말에는 관련 Ansible 명령에서 지원되는 모든 매개 변수의 세부 정보가 표시됩니다.

1.2.2. 텍스트 기반 사용자 인터페이스 모드

텍스트 기반 사용자 인터페이스 모드는 자동화 실행 환경, 컬렉션, 플레이북 및 인벤토리와의 향상된 상호 작용을 제공합니다. 이 모드는 Visual Studio Code와 같은 IDE(통합 개발 환경)와 호환됩니다.

이 모드에는 여러 가지 유용한 사용자 인터페이스 옵션이 포함되어 있습니다.

콜론 명령
:run 또는 :collections와 같은 콜론으로 모든 자동화 콘텐츠 탐색 명령에 액세스할 수 있습니다.
텍스트 기반 인터페이스 탐색
화면은 위로 또는 아래로 페이지 위 또는 아래로 스크롤, 이전 화면으로 이스케이프 또는 액세스 :help. .를 보여줍니다.
행 번호별 출력
표시된 출력의 모든 행 번호에 콜론(예: :12 )을 추가하여 액세스할 수 있습니다.
색상 코드 출력
색상이 활성화된 경우 자동화 콘텐츠는 더 이상 사용되지 않는 모듈과 같은 항목을 빨간색으로 표시합니다.
페이지 번호 및 스크롤
각 자동화 콘텐츠 탐색 화면 하단에 표시되는 옵션을 사용하여 위로 또는 아래로 스크롤하거나 이스케이프할 수 있습니다.

자동화 콘텐츠가 실행된 후에는 모드를 전환할 수 없습니다.

이 문서에서는 대부분의 절차에 대해 텍스트 기반 사용자 인터페이스 모드를 사용합니다.

1.3. 자동화 콘텐츠 탐색 명령

자동화 콘텐츠 탐색 명령은 -m stdout 모드에서 친숙한 Ansible CLI 명령을 실행합니다. 관련 Ansible CLI 명령의 모든 하위 명령 및 옵션을 사용할 수 있습니다. 자세한 내용은 ansible-navigator --help 를 사용합니다.

Expand
표 1.1. 자동화 콘텐츠 탐색 명령
명령설명CLI 예

컬렉션

사용 가능한 컬렉션 살펴보기

ansible-navigator 컬렉션 --help

config

현재 Ansible 구성 살펴보기

ansible-navigator config --help

문서

모듈 또는 플러그인에 대한 문서 검토

ansible-navigator doc --help

이미지

실행 환경 이미지 살펴보기

ansible-navigator 이미지 --help

인벤토리

인벤토리 살펴보기

ansible-navigator 인벤토리 --help

재생

플레이북 아티팩트를 사용하여 이전 실행 살펴보기

ansible-navigator replay --help

run

플레이북 실행

ansible-navigator run --help

오신 것을 환영합니다

시작 페이지에서 시작

ansible-navigator welcome --help

1.4. Ansible과 자동화 콘텐츠 탐색 명령 간의 관계

자동화 콘텐츠 탐색 명령은 -m stdout 모드에서 친숙한 Ansible CLI 명령을 실행합니다. 관련 Ansible CLI 명령에서 사용할 수 있는 모든 하위 명령 및 옵션을 사용할 수 있습니다. 자세한 내용은 ansible-navigator --help 를 사용합니다.

Expand
표 1.2. 자동화 콘텐츠 탐색 및 Ansible CLI 명령 비교
자동화 콘텐츠 navigator 명령Ansible CLI 명령

ansible-navigator 컬렉션

ansible-galaxy 컬렉션

ansible-navigator 구성

ansible-config

ansible-navigator doc

ansible-doc

ansible-navigator 인벤토리

ansible-inventory

ansible-navigator 실행

ansible-playbook

2장. Ansible 개발 툴 설치

Red Hat은 Ansible 개발 툴 설치를 위한 두 가지 옵션을 제공합니다.

  • VS Code 내에서 실행 중인 RHEL 컨테이너에 설치 이 옵션은 MacOS, Windows 및 Linux 시스템에 설치할 수 있습니다.
  • RPM(Red Hat Package Manager) 패키지를 사용하여 로컬 RHEL 8 또는 RHEL 9 시스템에 설치합니다.

    참고

    RHEL 10에서는 RPM 설치가 지원되지 않습니다.

2.1. 요구 사항

Ansible 개발 툴을 설치하고 사용하려면 다음 요구 사항을 충족해야 합니다. Windows 설치 및 컨테이너화된 설치에 대한 추가 요구 사항은 절차에 표시됩니다.

2.1.1. Windows에서 Ansible 개발 툴 요구 사항

Windows의 VS Code에 있는 컨테이너에 Ansible 개발 툴을 설치하는 경우 추가 요구 사항이 있습니다.

  • Linux용 Windows Cryostat(WSL2)
  • podman Desktop

프로세스

  1. 배포 없이 WSL2를 설치합니다.

    $ wsl --install --no-distribution
    Copy to Clipboard Toggle word wrap
  2. WSL2에 대해 cgroupsv1 을 비활성화하여 cgroupsv2 를 사용합니다.

    %USERPROFILE%/wsl.conf 파일을 편집하고 다음 행을 추가하여 cgroupv2 사용을 강제 적용합니다.

    [wsl2]
    kernelCommandLine = cgroup_no_v1="all"
    Copy to Clipboard Toggle word wrap
  3. Podman 데스크탑을 설치합니다. Podman 데스크탑 설명서의 Windows에 Podman 데스크탑 및 Podman 설치 지침을 따르십시오.

    설정 마법사에서 기본 설정을 변경할 필요가 없습니다.

  4. podman 시스템이 cgroupsv2 를 사용하고 있는지 확인합니다.

    $ podman info | findstr cgroup
    Copy to Clipboard Toggle word wrap
  5. Podman 데스크탑 테스트:

    $ podman run hello
    Copy to Clipboard Toggle word wrap
  6. Podman 데스크탑에 대한 설정을 구성합니다. 다음 콘텐츠를 사용하여 %USERPROFILE%\bin\docker. northeast 파일을 추가합니다.

    @echo off
    podman %*
    Copy to Clipboard Toggle word wrap

    이렇게 하면 VS Code Dev 컨테이너 확장에 필요한 Docker를 설치할 필요가 없습니다.

  7. %USERPROFILE%\bin 디렉토리를 PATH:에 추가합니다.

    1. 설정을 선택하고 "사용자 계정의 환경 변수 편집"을 검색하여 모든 사용자 환경 변수를 표시합니다.
    2. 최상위 사용자 변수 상자에서 "Path"를 강조 표시하고 편집을 클릭하고 경로를 추가합니다.
    3. Save 를 클릭하여 새 콘솔의 경로를 설정합니다.

2.1.2. Red Hat 컨테이너 레지스트리로 인증

Red Hat 컨테이너 카탈로그를 통해 사용할 수 있는 모든 컨테이너 이미지는 이미지 레지스트리 registry.redhat.io 에서 호스팅됩니다. 레지스트리에는 이미지에 액세스하려면 인증이 필요합니다.

참고

VS Code 내부의 컨테이너에 Ansible 개발 툴을 설치하려면 VS Code가 registry.redhat.io 에서 devtools 컨테이너를 가져올 수 있도록 VS Code를 시작하기 전에 registry.redhat.io 에 로그인해야 합니다.

VS Code 내부에서 컨테이너에서 Ansible 개발 툴을 실행 중이고 실행 환경으로 사용할 devcontainer 또는 devcontainer 를 실행 환경으로 가져오려면 VS Code 내부의 터미널에서 devcontainer 내의 터미널 프롬프트에서 로그인해야 합니다.

사전 요구 사항

  • registry.redhat.io 레지스트리를 사용하려면 Red Hat 로그인이 있어야 합니다.

    이는 Red Hat 고객 포털(access.redhat.com)에 로그인하고 Red Hat 서브스크립션을 관리하는 데 사용하는 계정과 동일합니다.

프로세스

  1. registry.redhat.io 레지스트리에 이미 로그인되어 있는지 확인합니다.

    $ podman login --get-login registry.redhat.io
    Copy to Clipboard Toggle word wrap

    registry.redhat.io 에 로그인한 경우 명령 출력에 Red Hat 로그인이 표시됩니다.

  2. registry.redhat.io 에 로그인하지 않은 경우 인증 정보와 함께 podman login 명령을 사용하여 레지스트리의 콘텐츠에 액세스합니다.

    $ podman login registry.redhat.io
    Username: my_redhat_username
    Password: ***********
    Copy to Clipboard Toggle word wrap

Red Hat 컨테이너 레지스트리 인증에 대한 자세한 내용은 Red Hat 고객 포털의 Red Hat Container Registry Authentication 을 참조하십시오.

2.1.3. VS Code 설치

2.1.4. VS Code Ansible 확장 설치

Ansible 확장은 Ansible에 대한 언어 지원을 VS Code에 추가합니다. 자동화 콘텐츠를 쉽게 생성하고 실행할 수 있도록 Ansible 개발 툴을 통합합니다.

Ansible 확장에 대한 자세한 내용은 Visual Studio Code Marketplace 를 참조하십시오.

학습 경로 - 확장 작업에 대한 튜토리얼은 Ansible VS Code Extension 시작하기 를 참조하십시오.

다음 절차에 따라 Ansible VS Code 확장을 설치합니다.

프로세스

  1. VS Code를 엽니다.
  2. 활동 표시줄에서 확장 ( Extensions ) 아이콘을 클릭하거나 확장 보기를 클릭하여 확장 를 표시합니다.
  3. Extensions 보기의 검색 필드에 Ansible Red Hat 을 입력합니다.
  4. Ansible 확장을 선택하고 설치를 클릭합니다.

검증

파일의 언어를 Ansible로 인식하면 Ansible 확장은 자동 완료, 마우스 커서, 진단 및 goto와 같은 기능을 제공합니다. 파일에 대해 식별된 언어는 VS Code 창 하단에 있는 상태 표시줄에 표시됩니다.

다음 파일에는 Ansible 언어가 할당됩니다.

  • /playbooks 디렉터리의 YAML 파일
  • 다음 이중 확장자가 있는 파일: .ansible.yml 또는 .ansible.yaml
  • Ansible에서 인식하는 특정 YAML 이름(예: site.yml 또는 site.yaml)
  • 파일 이름에 "playbook": playbook .yml 또는 Playbook .yaml 이 포함된 YAML 파일

문제 해결

확장이 플레이북 파일의 언어를 Ansible로 식별하지 않으면 Ansible 언어를 YAML 파일과 연결하는 절차를 따르십시오.

2.1.5. Ansible 확장 설정 구성

Ansible 확장에서는 여러 구성 옵션을 지원합니다.

사용자 수준, 작업 공간 수준 또는 특정 디렉터리에 대한 확장 설정을 구성할 수 있습니다. 사용자 기반 설정은 열린 VS Code 인스턴스에 전역적으로 적용됩니다. VS Code 작업 공간은 단일 VS Code 창에서 열 수 있는 하나 이상의 폴더의 컬렉션입니다. 작업 공간 설정은 작업 공간에 저장되고 현재 작업 공간이 열린 경우에만 적용됩니다.

다음과 같은 이유로 작업 공간에 대한 설정을 구성하는 것이 유용합니다.

  • 플레이북 프로젝트와 관련된 구성을 정의하고 유지 관리하는 경우 다른 작업에 대해 선호하는 설정을 변경하지 않고 개별 프로젝트에 대해 Ansible 개발 환경을 사용자 지정할 수 있습니다. 프로젝트를 전환할 때마다 설정을 수동으로 재구성할 필요 없이 각 스택에 최적화된 Python 프로젝트, Ansible 프로젝트 및 C++ 프로젝트에 대해 다른 설정을 설정할 수 있습니다.
  • 팀과 공유할 프로젝트에 대한 버전 제어를 설정할 때 작업 공간 설정을 포함하는 경우 모든 사용자가 해당 프로젝트에 대해 동일한 구성을 사용합니다.

사전 요구 사항

  • 파일열기 폴더 메뉴를 사용하여 VS Code에서 작업 영역 또는 폴더를 열거나 새 폴더 를 만듭니다. 이는 작업 공간에 대한 설정 기본 설정을 저장하는 파일은 폴더 또는 작업 공간에 고유하기 때문에 필요합니다.

프로세스

  1. Ansible 확장 설정을 엽니다.

    1. 활동 모음에서 Extensions 확장 아이콘을 클릭합니다.
    2. Ansible 확장을 선택하고 'gear' 아이콘을 클릭한 다음 설정을 확장하여 확장 기능을 사용하여 확장 설정을 표시합니다.

      • 또는 코드설정 설정을 페이지를 엽니다.
    3. 검색 창에 Ansible 을 입력하여 확장 설정을 표시합니다.
  2. 현재 VS Code 작업 공간에 대한 설정을 구성하려면 Workspace 탭을 선택합니다.

    • Workspace 탭이 표시되지 않으면 FileOpen Folder 메뉴를 사용하여 폴더를 열거나 새 폴더를 생성합니다.
  3. Ansible 확장 설정은 미리 채워집니다. 요구 사항에 맞게 설정을 수정합니다.

    • ansible-lint를 활성화하려면 AnsibleValidationLint: Enabled 을 선택합니다.
    • 실행 환경을 사용하려면 Ansible Execution Environment: Enabled 확인란을 선택합니다.
    • Ansible > 실행 환경: 이미지 필드에서 사용할 실행 환경 이미지를 지정합니다.
    • Red Hat Ansible Lightspeed를 사용하려면 Ansible > Lightspeed: Enabled 박스를 선택하고 Lightspeed의 URL을 입력합니다.

2.1.6. YAML 파일에 Ansible 언어 수동 추가

Ansible VS Code 확장은 파일과 연결된 언어가 Ansible로 설정된 경우에만 작동합니다. 확장 기능은 자동 완료, 마우스 커서 및 진단과 같은 Ansible 플레이북을 생성하는 데 도움이 되는 기능을 제공합니다.

Ansible VS Code 확장에서는 Ansible 언어를 일부 파일과 자동으로 연결합니다. 아래 절차에서는 Ansible 파일로 인식되지 않는 파일의 언어를 설정하는 방법을 설명합니다.

2.1.6.1. Ansible 언어를 YAML 파일에 연결

다음 절차에서는 VS Code에서 열려 있는 YAML 파일에 Ansible 언어를 수동으로 할당하는 방법을 설명합니다.

프로세스

  1. VS Code에서 YAML 파일을 열거나 만듭니다.
  2. VS Code 창 하단에 있는 상태 표시줄에서 식별된 언어 위에 커서를 커서를 이동하여 언어 모드 선택 목록을 엽니다.
  3. 목록에서 Ansible 을 선택합니다.

    파일의 VS Code 창 하단에 있는 상태 표시줄에 표시된 언어는 Ansible로 변경됩니다.

2.1.6.2. settings.json에 Ansible 언어의 영구 파일 연결 추가

Ansible 언어를 YAML 파일에 수동으로 연결하면 settings.json 파일에서 Ansible 언어에 대한 파일 연결을 추가할 수 있습니다.

프로세스

  1. settings.json 파일을 엽니다.

    1. ViewCommandlets을 클릭하여 명령 팔레트 를 엽니다.
    2. 검색 상자에 Workspace 설정을 입력하고 Open Workspace Settings (JSON) 을 선택합니다.
  2. settings.json 에 다음 코드를 추가합니다.

    {
      ...
    
      "files.associations": {
        "*plays.yml": "ansible",
        "*init.yml": "yaml",
      }
    }
    Copy to Clipboard Toggle word wrap

2.1.7. Dev Containers 확장 설치 및 구성

컨테이너화된 버전의 Ansible 개발 툴을 설치하는 경우 VS Code에 Microsoft Dev Containers 확장을 설치해야 합니다.

  1. VS Code를 엽니다.
  2. 활동 표시줄에서 확장 ( Extensions ) 아이콘을 클릭하거나 확장 보기를 클릭하여 확장 를 표시합니다.
  3. 확장 보기의 검색 필드에 Dev Containers 를 입력합니다.
  4. Microsoft에서 Dev Containers 확장을 선택하고 설치를 클릭합니다.

Podman 또는 Podman 데스크탑을 컨테이너화 플랫폼으로 사용하는 경우 Dev Containers 확장에서 기본 설정을 수정해야 합니다.

  1. Dev Containers 확장 설정에서 docker를 podman으로 바꿉니다.

    1. VS Code에서 설정 편집기를 엽니다.
    2. @ext:ms-vscode-remote.remote-containers 를 검색합니다.

      또는 활동 표시줄에서 확장 아이콘을 클릭하고 Dev Containers 확장의 고급 아이콘을 클릭합니다.

  2. Dev > Containers:Docker 경로를 podman 으로 설정합니다.
  3. Dev > Containers:Docker Compose Pathpodman-compose 로 설정합니다.

2.2. VS Code 내부의 컨테이너에 Ansible 개발 툴 설치

Dev Containers VS Code 확장에는 dev 컨테이너의 설정을 저장하기 위해 .devcontainer 파일이 필요합니다. Ansible 확장을 사용하여 dev 컨테이너의 구성 파일을 스캐폴드하고 VS Code의 컨테이너에서 디렉터리를 다시 열어야 합니다.

사전 요구 사항

  • 컨테이너화 플랫폼(예: Podman, Podman 데스크탑, Docker 또는 Docker Desktop)을 설치했습니다.
  • Red Hat 로그인이 있고 registry.redhat.io 에서 Red Hat 레지스트리에 로그인했습니다. registry.redhat.io 에 로그인하는 방법에 대한 자세한 내용은 Red Hat 컨테이너 레지스트리로 인증 을 참조하십시오.
  • VS Code가 설치되어 있어야 합니다.
  • VS Code에 Ansible 확장을 설치했습니다.
  • VS Code에 Microsoft Dev Containers 확장을 설치했습니다.
  • Windows에서 Ansible 개발 툴을 설치하는 경우 VS Code를 시작하고 WSL 머신에 연결합니다.

    1. 원격 ( Remote ) 아이콘을 클릭합니다.
    2. 표시되는 드롭다운 메뉴에서 WSL 시스템에 연결할 옵션을 선택합니다.

프로세스

  1. VS Code에서 프로젝트 디렉터리로 이동합니다.
  2. VS Code 활동 표시줄에서 Ansible 아이콘을 클릭하여 Ansible 확장을 엽니다.
  3. Ansible 확장의 Ansible 개발 툴 섹션에서 ADD 옵션까지 아래로 스크롤하여 Devcontainer 를 선택합니다.
  4. Create a devcontainer 페이지의 컨테이너 이미지 옵션에서 Downstream 컨테이너 이미지를 선택합니다.

    이 작업은 .devcontainer 디렉터리에 Podman 및 Docker 모두에 devcontainer.json 파일을 추가합니다.

  5. 프로젝트 디렉터리를 다시 열거나 다시 로드합니다.

    • VS Code에서 디렉터리에 devcontainer.json 파일이 포함되어 있음을 감지하면 다음 알림이 표시됩니다.

      컨테이너에서 다시 열기를 클릭합니다.

    • 알림이 나타나지 않으면 원격 ( Remote ) 아이콘을 클릭합니다. 표시되는 드롭다운 메뉴에서 Reopen in Container 를 선택합니다.
  6. 사용 중인 컨테이너화 플랫폼에 따라 Podman 또는 Docker의 dev 컨테이너를 선택합니다.

    VS Code 상태 표시줄의 Remote () 상태가 Remote를 열고 알림은 컨테이너를 여는 진행 상황을 나타냅니다.

검증

디렉터리가 컨테이너에서 다시 열리면 원격() 상태가 Dev Container: ansible-dev-container 를 표시합니다.

참고

컨테이너의 기본 이미지는 Microdnf 를 패키지 관리자로 사용하는 Universal Base Image Minimal(UBI Minimal) 이미지입니다. dnfyum 패키지 관리자는 컨테이너에서 사용할 수 없습니다.

UBI Minimal 이미지를 기반으로 컨테이너에서 microdnf 를 사용하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux Building, 실행 및 관리 가이드의 최소 UBI 컨테이너의 소프트웨어 추가 참조하십시오.

2.3. RHEL의 패키지에서 Ansible 개발 툴 설치

Ansible 개발 툴은 Ansible Automation Platform RPM(Red Hat Package Manager) 패키지에 번들로 제공됩니다. Ansible Automation Platform 설치에 대한 정보는 RPM 설치 설명서를 참조하십시오.

사전 요구 사항

  • RHEL 8 또는 RHEL 9를 설치했습니다.

    참고

    RHEL 10에서는 RPM 설치가 지원되지 않습니다.

  • Red Hat Subscription Manager에 시스템을 등록했습니다.
  • 컨테이너화 플랫폼(예: Podman 또는 Docker)이 설치되어 있습니다.

프로세스

  1. 다음 명령을 실행하여 SCA(Simple Content Access)가 활성화되어 있는지 확인합니다.

    $ sudo subscription-manager status
    Copy to Clipboard Toggle word wrap

    Simple Content Access를 활성화하면 출력에 다음 메시지가 포함됩니다.

    Content Access Mode is set to Simple Content Access.
    Copy to Clipboard Toggle word wrap
    1. Simple Content Access가 활성화되지 않은 경우 Red Hat Ansible Automation Platform SKU를 연결합니다.

      $ sudo subscription-manager attach --pool=<sku-pool-id>
      Copy to Clipboard Toggle word wrap
  2. 다음 명령을 사용하여 Ansible 개발 툴을 설치합니다.

    $ sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-8-x86_64-rpms ansible-dev-tools
    Copy to Clipboard Toggle word wrap
    $ sudo dnf install --enablerepo=ansible-automation-platform-2.5-for-rhel-9-x86_64-rpms ansible-dev-tools
    Copy to Clipboard Toggle word wrap

검증:

Ansible 개발 툴 구성 요소가 설치되었는지 확인합니다.

$ rpm -aq | grep ansible
Copy to Clipboard Toggle word wrap

출력에는 설치된 Ansible 패키지가 표시됩니다.

ansible-sign-0.1.1-2.el9ap.noarch
ansible-creator-24.4.1-1.el9ap.noarch
python3.11-ansible-runner-2.4.0-0.1.20240412.git764790f.el9ap.noarch
ansible-runner-2.4.0-0.1.20240412.git764790f.el9ap.noarch
ansible-builder-3.1.0-0.2.20240413.git167ed5c.el9ap.noarch
ansible-dev-environment-24.1.0-2.el9ap.noarch
ansible-core-2.16.6-0.1.20240413.gite636132.el9ap.noarch
python3.11-ansible-compat-4.1.11-2.el9ap.noarch
python3.11-pytest-ansible-24.1.2-1.el9ap.noarch
ansible-lint-6.14.3-4.el9ap.noarch
ansible-navigator-3.4.1-2.el9ap.noarch
python3.11-tox-ansible-24.2.0-1.el9ap.noarch
ansible-dev-tools-2.5-2.el9ap.noarch
Copy to Clipboard Toggle word wrap

성공적으로 설치하면 ansible-creator에 대한 도움말 문서를 볼 수 있습니다.

$ ansible-creator --help

usage: ansible-creator [-h] [--version] command ...

The fastest way to generate all your ansible content.

Positional arguments:
 command
  add           Add resources to an existing Ansible project.
  init          Initialize a new Ansible project.

Options:
 --version      Print ansible-creator version and exit.
 -h     --help  Show this help message and exit
Copy to Clipboard Toggle word wrap

3장. 자동화 콘텐츠로 자동화 실행 환경 검토

콘텐츠 개발자는 자동화 콘텐츠로 자동화 실행 환경을 검토하고 자동화 실행 환경에 포함된 패키지 및 컬렉션을 표시할 수 있습니다. 자동화 콘텐츠는 플레이북을 실행하여 결과를 추출하고 표시합니다.

3.1. 자동화 콘텐츠 탐색에서 자동화 실행 환경 검토

자동화 콘텐츠로 텍스트 기반 사용자 인터페이스를 사용하여 자동화 실행 환경을 검토할 수 있습니다.

사전 요구 사항

  • 자동화 실행 환경

프로세스

  1. 자동화 콘텐츠 탐색 구성에 포함된 자동화 실행 환경을 검토합니다.

    $ ansible-navigator images
    Copy to Clipboard Toggle word wrap
  2. 자세한 내용은 delve하려는 자동화 실행 환경 수를 입력합니다.

    설치된 각 자동화 실행 환경 및 포함된 컬렉션의 패키지 및 버전을 검토할 수 있습니다.

  3. 선택 사항: 사용하려는 자동화 실행 환경에서 전달합니다. 이는 기본 및 자동화 콘텐츠를 자동화하여 사용하는 자동화 실행 환경입니다.

    $ ansible-navigator images --eei registry.example.com/example-enterprise-ee:latest
    Copy to Clipboard Toggle word wrap

검증

4장. 자동화 콘텐츠로 인벤토리 검토

콘텐츠 작성자는 자동화 콘텐츠 탐색을 통해 Ansible 인벤토리를 검토하고 그룹 및 호스트로 대화형으로 위임할 수 있습니다.

4.1. 자동화 콘텐츠에서 인벤토리 검토

자세한 내용은 자동화 콘텐츠 탐색기 텍스트 기반 사용자 인터페이스를 사용하여 Ansible 인벤토리를 대화형 모드에서 검토하고 그룹 및 호스트로 위임할 수 있습니다.

사전 요구 사항

  • 유효한 인벤토리 파일 또는 인벤토리 플러그인.

프로세스

  1. 자동화 콘텐츠 탐색을 시작합니다.

    $ ansible-navigator
    Copy to Clipboard Toggle word wrap

    선택 사항: 명령줄에서 ansible-navigator 인벤토리 -i simple_inventory.yml 을 입력하여 인벤토리를 확인합니다.

  2. 인벤토리를 검토합니다.

     :inventory -i simple_inventory.yml
    
       TITLE            DESCRIPTION
    0│Browse groups    Explore each inventory group and group members members
    1│Browse hosts     Explore the inventory with a list of all hosts
    Copy to Clipboard Toggle word wrap
  3. 0 을 입력하여 그룹을 탐색합니다.

      NAME               TAXONOMY                      TYPE
    0│general            all                           group
    1│nodes              all                           group
    2│ungrouped          all                           group
    Copy to Clipboard Toggle word wrap

    TAXONOMY 필드는 선택한 그룹 또는 노드가 속한 그룹의 계층을 자세히 설명합니다.

  4. delve하려는 그룹에 해당하는 번호를 입력합니다.

      NAME              TAXONOMY                        TYPE
    0│node-0            all▸nodes                       host
    1│node-1            all▸nodes                       host
    2│node-2            all▸nodes                       host
    Copy to Clipboard Toggle word wrap
  5. delve into 호스트에 해당하는 수를 입력하거나 9보다 큰 숫자의 경우 :<number >를 입력합니다.

    [node-1]
    0│---
    1│ansible_host: node-1.example.com
    2│inventory_hostname: node-1
    Copy to Clipboard Toggle word wrap

검증

  • 인벤토리 출력을 검토합니다.

      TITLE            DESCRIPTION
    0│Browse groups   Explore each inventory group and group members members
    1│Browse hosts    Explore the inventory with a list of all hosts
    Copy to Clipboard Toggle word wrap

5장. 자동화 콘텐츠를 사용하여 컬렉션 검색

콘텐츠 작성자는 자동화 콘텐츠를 탐색하고 로컬로 또는 Automation 실행 환경 내에서 개발된 각 컬렉션을 대화형으로 delve하여 Ansible 컬렉션을 탐색할 수 있습니다.

5.1. 자동화 콘텐츠 탐색 컬렉션 표시

자동화 콘텐츠는 각 컬렉션에 대한 다음 세부 정보를 사용하여 컬렉션에 대한 정보를 표시합니다.

SHADOWED
컬렉션의 추가 사본이 검색 순서에 더 높음을 나타내며 플레이북에서 해당 컬렉션을 선호합니다.
TYPE
컬렉션이 자동화 실행 환경에 마운트된 볼륨 또는 자동화 실행 환경에 bind_mount 로 포함되어 있는지 여부를 표시합니다.
경로
collection TYPE 필드를 기반으로 자동화 실행 환경 또는 로컬 파일 시스템 내의 컬렉션 위치를 반영합니다.

5.2. 자동화 콘텐츠 탐색

대화형 모드에서 자동화 콘텐츠 탐색 및 각 컬렉션으로 텍스트 기반 사용자 인터페이스를 사용하여 Ansible 컬렉션을 탐색할 수 있습니다. 자동화 콘텐츠 탐색에는 현재 프로젝트 디렉터리 내의 컬렉션 및 자동화 실행 환경에서 사용 가능한 컬렉션이 표시됩니다.

사전 요구 사항

  • 로컬에 액세스 가능한 컬렉션 또는 설치된 자동화 실행 환경입니다.

프로세스

  1. 자동화 콘텐츠 시작

    $ ansible-navigator
    Copy to Clipboard Toggle word wrap
  2. 컬렉션을 검색합니다. 또는 ansible-navigator 컬렉션을 입력하여 컬렉션을 직접 탐색할 수 있습니다.

    $ :collections
    Copy to Clipboard Toggle word wrap
  3. 탐색할 컬렉션의 수를 입력합니다.

    :4
    Copy to Clipboard Toggle word wrap
  4. delve하려는 모듈에 해당하는 번호를 입력합니다.

    ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address
     0│---
     1│additional_information: {}
     2│collection_info:
     3│  authors:
     4│  - Ansible Community
     5│  dependencies: {}
     6│  description: Ansible Collection with utilities to ease the management, manipulation,
     7│    and validation of data within a playbook
     8│  documentation: null
     9│  homepage: null
    10│  issues: null
    11│  license: []
    12│  license_file: LICENSE
    13│  name: ansible.utils
    14│  namespace: ansible
    15│  path:/usr/share/ansible/collections/ansible_collections/ansible/utils/
    16│  readme: README.md
    <... output truncated...>
    Copy to Clipboard Toggle word wrap
  5. 선택 사항: 이 모듈에 대한 문서 예제로 건너뜁니다.

    :{{ examples }}
    
    0│
    1│
    2│#### Simple examples
    3│
    4│- name: Check if 10.1.1.1 is a valid IP address
    5│  ansible.builtin.set_fact:
    6│    data: "{{ '10.1.1.1' is ansible.utils.ip_address }}"
    7│
    8│# TASK [Check if 10.1.1.1 is a valid IP address] *********************
    9│# ok: [localhost] => {
    10│#     "ansible_facts": {
    11│#         "data": true
    12│#     },
    13│#     "changed": false
    14│# }
    15│
    Copy to Clipboard Toggle word wrap
  6. 선택 사항: 편집기에서 예제를 열어 플레이북에 복사합니다.

    :open
    Copy to Clipboard Toggle word wrap

검증

5.3. 자동화 콘텐츠 탐색의 문서 검토

대화형 모드에서 자동화 콘텐츠로 텍스트 기반 사용자 인터페이스를 사용하여 컬렉션 및 플러그인에 대한 Ansible 문서를 검토할 수 있습니다. 자동화 콘텐츠 탐색에는 현재 프로젝트 디렉터리 내 컬렉션 및 자동화 실행 환경에서 사용 가능한 컬렉션이 표시됩니다.

사전 요구 사항

  • 로컬에 액세스 가능한 컬렉션 또는 설치된 자동화 실행 환경입니다.

프로세스

  1. 자동화 콘텐츠 시작

    $ ansible-navigator
    Copy to Clipboard Toggle word wrap
  2. 관심 있는 모듈을 검토합니다. 또는 ansible-navigator doc 를 입력하여 문서에 액세스할 수 있습니다.

    :doc ansible.utils.ip_address
    Copy to Clipboard Toggle word wrap
    ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address
     0│---
     1│additional_information: {}
     2│collection_info:
     3│  authors:
     4│  - Ansible Community
     5│  dependencies: {}
     6│  description: Ansible Collection with utilities to ease the management, manipulation,
     7│    and validation of data within a playbook
     8│  documentation: null
     9│  homepage: null
    10│  issues: null
    11│  license: []
    12│  license_file: LICENSE
    13│  name: ansible.utils
    14│  namespace: ansible
    15│  path:/usr/share/ansible/collections/ansible_collections/ansible/utils/
    16│  readme: README.md
    <... output truncated...>
    Copy to Clipboard Toggle word wrap
  3. 이 모듈에 대한 설명서 예제로 건너뜁니다.

    :{{ examples }}
    
    0│
    1│
    2│#### Simple examples
    3│
    4│- name: Check if 10.1.1.1 is a valid IP address
    5│  ansible.builtin.set_fact:
    6│    data: "{{ '10.1.1.1' is ansible.utils.ip_address }}"
    7│
    8│# TASK [Check if 10.1.1.1 is a valid IP address] *********************
    9│# ok: [localhost] => {
    10│#     "ansible_facts": {
    11│#         "data": true
    12│#     },
    13│#     "changed": false
    14│# }
    15│
    Copy to Clipboard Toggle word wrap
  4. 선택 사항: 편집기에서 예제를 열어 플레이북에 복사합니다.

    :open
    Copy to Clipboard Toggle word wrap

    편집기를 설정하는 방법에 대한 자세한 내용은 자동화 콘텐츠 탐색 일반 설정을 참조하십시오.

6장. 자동화 콘텐츠로 Ansible 플레이북 실행

콘텐츠 작성자는 자동화 콘텐츠로 Ansible 플레이북을 실행하고 각 플레이와 작업의 결과를 대화형으로 조사하여 플레이북을 확인하거나 문제를 해결할 수 있습니다. 실행 환경 내에서 Ansible 플레이북을 실행하고 실행 환경 없이 실행하여 문제를 비교하고 해결할 수도 있습니다.

6.1. 자동화 콘텐츠 탐색에서 플레이북 실행

자동화 콘텐츠 탐색기 텍스트 기반 사용자 인터페이스를 사용하여 Ansible 플레이북을 실행하여 작업 실행을 따르고 각 작업의 결과를 조사할 수 있습니다.

사전 요구 사항

  • 플레이북입니다.
  • localhost 또는 인벤토리 플러그인을 사용하지 않는 경우 유효한 인벤토리 파일입니다.

프로세스

  1. 자동화 콘텐츠 시작

    $ ansible-navigator
    Copy to Clipboard Toggle word wrap
  2. 플레이북을 실행합니다.

    $ :run
    Copy to Clipboard Toggle word wrap
  3. 선택 사항: ansible-navigator를 입력하여 simple-playbook.yml -i inventory.yml 을 실행하여 플레이북을 실행합니다.
  4. 인벤토리 및 기타 명령행 매개변수를 확인하거나 추가합니다.

    INVENTORY OR PLAYBOOK NOT FOUND, PLEASE CONFIRM THE FOLLOWING
    ─────────────────────────────────────────────────────────────────────────
       Path to playbook: /home/ansible-navigator_demo/simple_playbook.yml
       Inventory source: /home/ansible-navigator-demo/inventory.yml
      Additional command line parameters: Please provide a value (optional)
    ──────────────────────────────────────────────────────────────────────────
                                                               Submit Cancel
    Copy to Clipboard Toggle word wrap
  5. 제출할 수 있는 탭을 선택하고 Enter를 누릅니다. 작업이 실행되는 것을 확인해야 합니다.

  6. 플레이 옆에 있는 번호를 입력하여 플레이 결과에 들어가거나 9개 이상의 숫자에 대해 :<number& gt;를 입력합니다.

    자동화 콘텐츠 탐색에 사용할 수 있는 색상이 있는 경우 실패한 작업이 빨간색으로 표시됩니다.

  7. 작업 결과 옆에 있는 번호를 입력하여 작업 결과를 검토하거나 9개 이상의 숫자에 :<number >를 입력합니다.

  8. 선택 사항: type :doc 은 문제 해결에 도움이 되는 작업에 사용되는 모듈 또는 플러그인에 대한 문서를 표시합니다.

    ANSIBLE.BUILTIN.PACKAGE_FACTS (MODULE)
      0│---
      1│doc:
      2│  author:
      3│  - Matthew Jones (@matburt)
      4│  - Brian Coca (@bcoca)
      5│  - Adam Miller (@maxamillion)
      6│  collection: ansible.builtin
      7│  description:
      8│  - Return information about installed packages as facts.
    <... output omitted ...>
     11│  module: package_facts
     12│  notes:
     13│  - Supports C(check_mode).
     14│  options:
     15│    manager:
     16│      choices:
     17│      - auto
     18│      - rpm
     19│      - apt
     20│      - portage
     21│      - pkg
     22│      - pacman
    
    <... output truncated ...>
    Copy to Clipboard Toggle word wrap

자동화 콘텐츠 탐색은 플레이북 실행 결과를 JSON 아티팩트 파일에 저장합니다. 이 파일을 사용하여 플레이북 결과를 다른 사용자와 공유하거나, 보안 또는 규정 준수상의 이유로 플레이북 결과를 저장하거나, 나중에 검토 및 문제를 해결할 수 있습니다. 아티팩트 파일만 플레이북 실행을 검토하면 됩니다. 플레이북 자체 또는 인벤토리 액세스에 액세스할 필요가 없습니다.

사전 요구 사항

  • 플레이북 실행에서 자동화 콘텐츠를 탐색하는 아티팩트 JSON 파일입니다.

프로세스

  • 아티팩트 파일을 사용하여 자동화 콘텐츠를 시작합니다.

    $ ansible-navigator replay simple_playbook_artifact.json
    Copy to Clipboard Toggle word wrap
    1. 플레이북이 실행될 때 일치하는 플레이북 결과를 검토합니다.

검증

이제 플레이북을 실행한 후 원하는 대로 결과를 검토하도록 플레이 및 작업 옆에 있는 번호를 입력할 수 있습니다.

7장. 자동화 콘텐츠로 Ansible 구성 검토

콘텐츠 작성자는 자동화 콘텐츠를 탐색하고 대화식으로 설정을 탐색하여 Ansible 구성을 검토할 수 있습니다.

7.1. 자동화 콘텐츠 탐색에서 Ansible 구성 검토

자동화 콘텐츠로 Ansible 구성을 검토하고 대화형 모드에서 텍스트 기반 사용자 인터페이스를 확인하고 설정을 delve할 수 있습니다. 자동화 콘텐츠를 탐색하거나 액세스 가능한 Ansible 구성 파일에서 결과를 가져오거나 구성 파일이 없는 경우 기본값을 반환합니다.

사전 요구 사항

프로세스

  1. 자동화 콘텐츠 시작

    $ ansible-navigator
    Copy to Clipboard Toggle word wrap

    선택 사항: 명령줄에서 ansible-navigator 구성을 입력하여 Ansible 구성 설정에 액세스합니다.

  2. Ansible 구성을 검토합니다.

     :config
    Copy to Clipboard Toggle word wrap

    일부 값은 자동화 실행 환경이 작동하는 데 필요한 자동화 실행 환경의 설정을 반영합니다. 이러한 설정은 Ansible 구성 파일에서 설정할 수 없는 기본 설정이 아닙니다.

  3. 설정할 설정에 해당하는 수를 입력하거나 9보다 큰 숫자의 경우 :<number >를 입력합니다.

    ANSIBLE COW ACCEPTLIST (current: ['bud-frogs', 'bunny', 'cheese']) (default:
     0│---
     1│current:
     2│- bud-frogs
     3│- bunny
     4│- cheese
     5│default:
     6│- bud-frogs
     7│- bunny
     8│- cheese
     9│- daemon
    Copy to Clipboard Toggle word wrap

출력에는 현재 설정기본 설정이 표시됩니다. 이 예제의 소스 는 설정이 자동화 실행 환경에서 제공되므로 env 입니다.

검증

8장. 자동화 콘텐츠 탐색 구성 설정

콘텐츠 작성자는 개발 환경에 맞게 자동화 콘텐츠 탐색을 구성할 수 있습니다.

8.1. 자동화 콘텐츠 탐색 설정 파일 생성

다음을 통해 기본 자동화 콘텐츠 탐색 설정을 변경할 수 있습니다.

  • 명령줄
  • 설정 파일 내에서
  • 환경 변수로

자동화 콘텐츠 탐색기에서는 다음 순서로 설정 파일을 확인하고 첫 번째 일치 항목을 사용합니다.

  • ANSIBLE_NAVIGATOR_CONFIG - 설정된 경우 설정 파일 경로 환경 변수입니다.
  • ./Ansible-navigator.<ext> - 파일 이름에 점이 없는 현재 프로젝트 디렉터리 내의 설정 파일입니다.
  • \~/.Ansible-navigator.<ext> - 파일 이름에 점이 있는 홈 디렉터리입니다.

자동화 콘텐츠 탐색 설정 파일을 생성할 때 다음을 고려하십시오.

  • 설정 파일은 JSON 또는 YAML 형식일 수 있습니다.
  • JSON 형식의 설정의 경우 확장은 .json 이어야 합니다.
  • YAML 형식의 설정의 경우 확장은 .yml 또는 .yaml 이어야 합니다.
  • 프로젝트 및 홈 디렉터리에는 각각 하나의 설정 파일만 포함할 수 있습니다.
  • 자동화 콘텐츠를 탐색하여 두 개 이상의 설정 파일을 찾는 경우 오류가 발생합니다.

아래 설정 파일 예제를 해당 경로 중 하나로 복사하여 ansible-navigator 설정 파일을 시작할 수 있습니다.

    ---
    ansible-navigator:
    #   ansible:
    #     config: /tmp/ansible.cfg
    #     cmdline: "--forks 15"
    #     inventories:
    #     - /tmp/test_inventory.yml
    #     playbook: /tmp/test_playbook.yml
    #   ansible-runner:
    #     artifact-dir: /tmp/test1
    #     rotate-artifacts-count: 10
    #     timeout: 300
    #   app: run
    #   collection-doc-cache-path: /tmp/cache.db
    #   color:
    #     enable: False
    #     osc4: False
    #   editor:
    #     command: vim_from_setting
    #     console: False
    #   documentation:
    #     plugin:
    #       name: shell
    #       type: become
    #   execution-environment:
    #     container-engine: podman
    #     enabled: False
    #     environment-variables:
    #       pass:
    #         - ONE
    #         - TWO
    #         - THREE
    #       set:
    #         KEY1: VALUE1
    #         KEY2: VALUE2
    #         KEY3: VALUE3
    #     image: test_image:latest
    #     pull-policy: never
    #     volume-mounts:
    #     - src: "/test1"
    #       dest: "/test1"
    #       label: "Z"
    #   help-config: True
    #   help-doc: True
    #   help-inventory: True
    #   help-playbook: False
    #   inventory-columns:
    #     - ansible_network_os
    #     - ansible_network_cli_ssh_type
    #     - ansible_connection
      logging:
    #     append: False
        level: critical
    #     file: /tmp/log.txt
    #   mode: stdout
    #   playbook-artifact:
    #     enable: True
    #     replay: /tmp/test_artifact.json
    #     save-as: /tmp/test_artifact.json
Copy to Clipboard Toggle word wrap

8.2. 자동화 콘텐츠 탐색의 일반 설정

다음 표에서는 자동화 콘텐츠 탐색을 위한 각 일반 매개변수 및 설정 옵션에 대해 설명합니다.

Expand
표 8.1. 자동화 콘텐츠 탐색의 일반 매개변수 설정
매개변수설명옵션 설정

ansible-runner-artifact-dir

ansible-runner에서 생성한 아티팩트를 저장할 디렉터리 경로입니다.

기본값: 기본값 없음

CLI: --rad 또는 --ansible-runner-artifact-dir

ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_ARTIFACT_DIR

설정 파일:

ansible-navigator:
  ansible-runner:
    artifact-dir:
Copy to Clipboard Toggle word wrap

ansible-runner-rotate-artifacts-count

마지막 n 실행의 경우 ansible-runner 아티팩트 디렉터리를 유지합니다. 0으로 설정하면 아티팩트 디렉터리는 삭제되지 않습니다.

기본값: 기본값 없음

CLI: --rac 또는 --ansible-runner-rotate-artifacts-count

ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_ROTATE_ARTIFACTS_COUNT

설정 파일:

ansible-navigator:
  ansible-runner:
    rotate-artifacts-count:
Copy to Clipboard Toggle word wrap

ansible-runner-timeout

ansible-runner 강제 실행이 중지되는 시간 초과 값입니다.

기본값: 기본값 없음

CLI: --rt 또는 --ansible-runner-timeout

ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_TIMEOUT

설정 파일:

ansible-navigator:
  ansible-runner:
    timeout:
Copy to Clipboard Toggle word wrap

app

자동화 콘텐츠 탐색의 진입점입니다.

choices: 컬렉션,구성,doc,이미지,인벤토리,재생,실행 또는 환영합니다

기본값: welcome

CLI 예: ansible-navigator 컬렉션

ENV: ANSIBLE_NAVIGATOR_APP

설정 파일:

ansible-navigator:
  app:
Copy to Clipboard Toggle word wrap

cmdline

해당 명령에 전달된 추가 매개변수입니다.

기본값: 기본값 없음

CLI: 위치

ENV: ANSIBLE_NAVIGATOR_CMDLINE

설정 파일:

ansible-navigator:
  ansible:
    cmdline:
Copy to Clipboard Toggle word wrap

collection-doc-cache-path

컬렉션 문서 캐시의 경로입니다.

Default: $HOME/.cache/ansible-navigator/collection_doc_cache.db

CLI: --cdcp 또는 --collection-doc-cache-path

ENV: ANSIBLE_NAVIGATOR_COLLECTION_DOC_CACHE_PATH

설정 파일:

ansible-navigator:
  collection-doc-cache-path:
Copy to Clipboard Toggle word wrap

container-engine

컨테이너 엔진을 지정합니다(auto=podman then docker).

선택 사항: 자동,podman 또는 docker

기본값: auto

CLI: --ce 또는 --container-engine

ENV: ANSIBLE_NAVIGATOR_CONTAINER_ENGINE

설정 파일:

ansible-navigator:
  execution-environment:
    container-engine:
Copy to Clipboard Toggle word wrap

display-color

디스플레이에서 색상 사용을 활성화합니다.

선택 사항: True 또는 False

기본값: True

CLI: --dc 또는 --display- color

ENV: NO_COLOR

설정 파일:

ansible-navigator:
  color:
    enable:
Copy to Clipboard Toggle word wrap

editor-command

자동화 콘텐츠에서 사용하는 편집기 지정

기본값:* vi +{line_number} {filename}

CLI: --ecmd 또는 --editor-command

ENV: ANSIBLE_NAVIGATOR_EDITOR_COMMAND

설정 파일:

ansible-navigator:
  editor:
    command:
Copy to Clipboard Toggle word wrap

editor-console

편집기가 콘솔 기반인지 여부를 지정합니다.

선택 사항: True 또는 False

기본값: True

CLI: --econ 또는 --editor-console

ENV: ANSIBLE_NAVIGATOR_EDITOR_CONSOLE

설정 파일:

ansible-navigator:
  editor:
    console:
Copy to Clipboard Toggle word wrap

실행 환경

자동화 실행 환경 사용을 활성화하거나 비활성화합니다.

선택 사항: True 또는 False

기본값: True

CLI: --ee 또는 --execution-environment

ENV:* ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT

설정 파일:

ansible-navigator:
  execution-environment:
    enabled:
Copy to Clipboard Toggle word wrap

execution-environment-image

자동화 실행 환경 이미지의 이름을 지정합니다.

기본값: quay.io/ansible/ansible-runner:devel

CLI: --eei 또는 --execution-environment-image

ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT_IMAGE

설정 파일:

ansible-navigator:
  execution-environment:
    image:
Copy to Clipboard Toggle word wrap

execution-environment-volume-mounts

자동화 실행 환경 내에서 바인딩 마운트할 볼륨 지정 (--eev /home/user/test:/home/user/test:Z)

기본값: 기본값 없음

CLI: --eev 또는 --execution-environment-volume-mounts

ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT_VOLUME_MOUNTS

설정 파일:

ansible-navigator:
  execution-environment:
    volume-mounts:
Copy to Clipboard Toggle word wrap

log-append

기존 로그 파일에 로그 메시지를 추가할지 여부를 지정합니다. 그렇지 않으면 세션별로 새 로그 파일이 생성됩니다.

선택 사항: True 또는 False

기본값: True

CLI: --la 또는 --log-append

ENV: ANSIBLE_NAVIGATOR_LOG_APPEND

설정 파일:

ansible-navigator:
  logging:
    append:
Copy to Clipboard Toggle word wrap

log-file

자동화 콘텐츠 탐색 로그 파일의 전체 경로를 지정합니다.

기본값: $PWD/ansible-navigator.log

CLI: --lf 또는 --log-file

ENV: ANSIBLE_NAVIGATOR_LOG_FILE

설정 파일:

ansible-navigator:
  logging:
    file:
Copy to Clipboard Toggle word wrap

로그 수준

자동화 콘텐츠를 탐색하는 로그 수준을 지정합니다.

선택 사항: debug,info,warning,error 또는 critical

기본값: warning

CLI: --ll 또는 --log-level

ENV: ANSIBLE_NAVIGATOR_LOG_LEVEL

설정 파일:

ansible-navigator:
  logging:
    level:
Copy to Clipboard Toggle word wrap

mode

user-interface 모드를 지정합니다.

선택 사항: stdout 또는 대화형

기본값: interactive

CLI: -m 또는 --mode

ENV: ANSIBLE_NAVIGATOR_MODE

설정 파일:

ansible-navigator:
  mode:
Copy to Clipboard Toggle word wrap

osc4

OSC 4에서 터미널 색상 변경 지원을 활성화하거나 비활성화합니다.

선택 사항: True 또는 False

기본값: True

CLI: --osc4 또는 --osc4

ENV: ANSIBLE_NAVIGATOR_OSC4

설정 파일:

ansible-navigator:
  color:
    osc4:
Copy to Clipboard Toggle word wrap

pass-environment-variable

자동화 실행 환경으로 전달하고 설정할 종료 환경 변수를 지정합니다(--penv MY_VAR)

기본값: 기본값 없음

CLI: --penv 또는 --pass-environment-variable

ENV: ANSIBLE_NAVIGATOR_PASS_ENVIRONMENT_VARIABLES

설정 파일:

ansible-navigator:
  execution-environment:
    environment-variables:
      pass:
Copy to Clipboard Toggle word wrap

pull-policy

이미지 가져오기 정책을 지정합니다.

Always - 항상 이미지 가져오기

누락됨 - 로컬에서 사용할 수 없는 경우 가져오기

never - 이미지를 가져오지 않음

태그 - 이미지 태그가 latest 인 경우 항상 이미지를 가져오는 경우 로컬에서 사용할 수 없는 경우 가져오기

선택 사항: always,missing,never 또는 tag

기본값: tag

CLI: --pp 또는 --pull-policy

ENV: ANSIBLE_NAVIGATOR_PULL_POLICY

설정 파일:

ansible-navigator:
  execution-environment:
    pull-policy:
Copy to Clipboard Toggle word wrap

set-environment-variable

자동화 실행 환경 내에서 설정할 환경 변수와 값을 지정합니다 (-senv MY_VAR=42)

기본값: 기본값 없음

CLI: --senv 또는 --set-environment-variable

ENV: ANSIBLE_NAVIGATOR_SET_ENVIRONMENT_VARIABLES

설정 파일:

ansible-navigator:
  execution-environment:
    environment-variables:
      set:
Copy to Clipboard Toggle word wrap

8.3. 자동화 콘텐츠 navigator config 하위 명령 설정

다음 표에는 자동화 콘텐츠 navigator config 하위 명령에 대한 각 매개 변수 및 설정 옵션이 설명되어 있습니다.

Expand
표 8.2. 자동화 콘텐츠 navigator config 하위 명령 매개변수 설정
매개변수설명옵션 설정

config

Ansible 구성 파일의 경로를 지정합니다.

기본값: 기본값 없음

CLI: -c 또는 --config

ENV: ANSIBLE_CONFIG

설정 파일:

ansible-navigator:
  ansible:
    config:
      path:
Copy to Clipboard Toggle word wrap

help-config

stdout 모드에서 ansible-config 명령에 대한 도움말 옵션입니다.

선택 사항:* True 또는 False

기본값: False

CLI: --hc 또는 --help-config

ENV: ANSIBLE_NAVIGATOR_HELP_CONFIG

설정 파일:

ansible-navigator:
  help-config:
Copy to Clipboard Toggle word wrap

8.4. 자동화 콘텐츠 navigator doc 하위 명령 설정

다음 표에서는 각 매개 변수 및 자동화 콘텐츠 탐색 명령 설정 옵션에 대해 설명합니다.

Expand
표 8.3. 자동화 콘텐츠 navigator doc 하위 명령 매개변수 설정
매개변수설명옵션 설정

help-doc

stdout 모드에서 ansible-doc 명령에 대한 도움말 옵션입니다.

선택 사항: True 또는 False

기본값: False

CLI: --hd 또는 --help-doc

ENV: ANSIBLE_NAVIGATOR_HELP_DOC

설정 파일:

ansible-navigator:
  help-doc:
Copy to Clipboard Toggle word wrap

plugin-name

플러그인 이름을 지정합니다.

기본값: 기본값 없음

CLI: 위치

ENV: ANSIBLE_NAVIGATOR_PLUGIN_NAME

설정 파일:

ansible-navigator:
  documentation:
    plugin:
      name:
Copy to Clipboard Toggle word wrap

plugin-type

플러그인 유형을 지정합니다.

선택 사항: become,cache,callback,cliconf,connection,httpapi,inventory,lookup,module,netconf,shell,strategy 또는 vars

기본값: 모듈

CLI: -t 또는 ----type

ENV: ANSIBLE_NAVIGATOR_PLUGIN_TYPE

설정 파일:

ansible-navigator:
  documentation:
    plugin:
      type:
Copy to Clipboard Toggle word wrap

8.5. 자동화 콘텐츠 탐색 인벤토리 하위 명령 설정

다음 표에서는 자동화 콘텐츠 탐색자 인벤토리 하위 명령에 대한 각 매개 변수 및 설정 옵션에 대해 설명합니다.

Expand
표 8.4. 자동화 콘텐츠 탐색 인벤토리 하위 명령 설정
매개변수설명옵션 설정

help-inventory

stdout 모드에서 ansible-inventory 명령에 대한 도움말 옵션입니다.

선택 사항: True 또는 False

기본값: False

CLI: --hi 또는 --help-inventory

ENV: ANSIBLE_NAVIGATOR_INVENTORY_DOC

설정 파일:

ansible-navigator:
  help-inventory:
Copy to Clipboard Toggle word wrap

인벤토리

인벤토리 파일 경로 또는 쉼표로 구분된 호스트 목록을 지정합니다.

기본값: 기본값 없음

CLI: --i 또는 --inventory

ENV: ANSIBLE_NAVIGATOR_INVENTORIES

설정 파일:

ansible-navigator:
  inventories:
Copy to Clipboard Toggle word wrap

inventory-column

인벤토리 뷰에 표시할 호스트 특성을 지정합니다.

기본값: 기본값 없음

CLI: --ic 또는 --inventory-column

ENV:* ANSIBLE_NAVIGATOR_INVENTORY_COLUMNSSettings file:

ansible-navigator:
  inventory-columns:
Copy to Clipboard Toggle word wrap

8.6. 자동화 콘텐츠 탐색 또는 재생 하위 명령 설정

다음 표에서는 자동화 콘텐츠 탐색 하위 명령에 대한 각 매개 변수 및 설정 옵션에 대해 설명합니다.

Expand
표 8.5. 자동화 콘텐츠 탐색 또는 재생 하위 명령 설정
매개변수설명옵션 설정

playbook-artifact-replay

재생할 플레이북 아티팩트의 경로를 지정합니다.

기본값: 기본값 없음

CLI: 위치

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_REPLAY

설정 파일:

ansible-navigator:
  playbook-artifact:
    replay:
Copy to Clipboard Toggle word wrap

8.7. 자동화 콘텐츠 탐색 또는 하위 명령 설정 실행

다음 표에는 자동화 콘텐츠 navigator run 하위 명령에 대한 각 매개 변수 및 설정 옵션이 설명되어 있습니다.

Expand
표 8.6. 자동화 콘텐츠 탐색 또는 하위 명령 설정 실행
매개변수설명옵션 설정

playbook-artifact-replay

재생할 플레이북 아티팩트의 경로를 지정합니다.

기본값: 기본값 없음

CLI: 위치

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_REPLAY

설정 파일:

ansible-navigator:
  playbook-artifact:
    replay:
Copy to Clipboard Toggle word wrap

help-playbook

stdout 모드에서 ansible-playbook 명령에 대한 도움말 옵션입니다.

선택 사항: True 또는 False

기본값: False

CLI: --hp 또는 --help-playbook

ENV: ANSIBLE_NAVIGATOR_HELP_PLAYBOOK

설정 파일:

ansible-navigator:
  help-playbook:
Copy to Clipboard Toggle word wrap

인벤토리

인벤토리 파일 경로 또는 쉼표로 구분된 호스트 목록을 지정합니다.

기본값: 기본값 없음

CLI: --i 또는 --inventory

ENV: ANSIBLE_NAVIGATOR_INVENTORIES

설정 파일:

ansible-navigator:
  inventories:
Copy to Clipboard Toggle word wrap

inventory-column

인벤토리 뷰에 표시할 호스트 특성을 지정합니다.

기본값: 기본값 없음

CLI: --ic 또는 --inventory-column

ENV:* ANSIBLE_NAVIGATOR_INVENTORY_COLUMNSSettings file:

ansible-navigator:
  inventory-columns:
Copy to Clipboard Toggle word wrap

playbook

플레이북 이름을 지정합니다.

기본값: 기본값 없음

CLI: 위치

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK

설정 파일:*

ansible-navigator:
  ansible:
    playbook:
Copy to Clipboard Toggle word wrap

playbook-artifact-enable

완료된 플레이북의 아티팩트 생성을 활성화하거나 비활성화합니다. 참고: 플레이북에 사용자 입력이 필요한 경우 --mode stdout 과 호환되지 않습니다.

선택 사항: True 또는 False

기본값: True

CLI: --pae 또는 --playbook-artifact-enableENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_ENABLE설정 파일:

ansible-navigator:
  playbook-artifact:
    enable:
Copy to Clipboard Toggle word wrap

playbook-artifact-save-as

완료된 플레이북에서 생성된 아티팩트의 이름을 지정합니다.

Default: {playbook_dir}/{playbook_name}-artifact-{ts_utc}.json

CLI: --pas 또는 --playbook-artifact-save-as

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_SAVE_AS

설정 파일:

ansible-navigator:
  playbook-artifact:
    save-as:
Copy to Clipboard Toggle word wrap

9장. 자동화 콘텐츠를 사용하여 Ansible 콘텐츠 문제 해결

콘텐츠 작성자는 자동화 콘텐츠 탐색 및 대화형 플레이북 문제를 통해 Ansible 콘텐츠(컬렉션, 자동화 실행 환경 및 플레이북) 문제를 해결할 수 있습니다. 자동화 실행 환경 내부 또는 외부의 결과를 비교하고 모든 문제를 해결할 수도 있습니다.

자동화 콘텐츠 탐색은 플레이북 실행 결과를 JSON 아티팩트 파일에 저장합니다. 이 파일을 사용하여 플레이북 결과를 다른 사용자와 공유하거나, 보안 또는 규정 준수상의 이유로 플레이북 결과를 저장하거나, 나중에 검토 및 문제를 해결할 수 있습니다. 아티팩트 파일만 플레이북 실행을 검토하면 됩니다. 플레이북 자체 또는 인벤토리 액세스에 액세스할 필요가 없습니다.

사전 요구 사항

  • 플레이북 실행에서 자동화 콘텐츠를 탐색하는 아티팩트 JSON 파일입니다.

프로세스

  • 아티팩트 파일을 사용하여 자동화 콘텐츠를 시작합니다.

    $ ansible-navigator replay simple_playbook_artifact.json
    Copy to Clipboard Toggle word wrap
    1. 플레이북이 실행될 때 일치하는 플레이북 결과를 검토합니다.

검증

이제 플레이북을 실행한 후 원하는 대로 결과를 검토하도록 플레이 및 작업 옆에 있는 번호를 입력할 수 있습니다.

9.2. 자동화 콘텐츠 탐색에 대해 자주 묻는 질문

다음 자동화 콘텐츠를 사용하여 환경의 문제를 해결하는 데 도움이 되는 FAQ를 사용하십시오.

자동화 실행 환경을 사용할 때 ansible.cfg 파일은 어디로 이동해야 합니까?
ansible.cfg 파일을 포함하는 가장 쉬운 위치는 플레이북 옆에 있는 프로젝트 디렉터리에 있습니다. 플레이북 디렉터리는 자동화 실행 환경에 자동으로 마운트되고 자동화 콘텐츠로 이동하여 ansible.cfg 파일을 찾습니다. ansible.cfg 파일이 다른 디렉터리에 있는 경우 ANSIBLE_CONFIG 변수를 설정하고 디렉터리를 사용자 지정 볼륨 마운트로 지정합니다. ( 실행-environment-volume-mounts의자동화 콘텐츠 탐색 설정 참조)
자동화 실행 환경을 사용하지 않을 때 ansible.cfg 파일은 어디로 이동해야 합니까?
Ansible은 자동화 실행 환경을 사용하지 않는 경우 일반적인 위치에서 ansible.cfg 를 찾습니다. 자세한 내용은 Ansible 구성 설정을 참조하십시오.
자동화 실행 환경을 사용할 때 Ansible 컬렉션을 배치해야 하는 위치는 무엇입니까?
Ansible 컬렉션을 가장 쉽게 사용할 수 있는 위치는 프로젝트 디렉터리에 있습니다. (예: ansible-galaxy 컬렉션에서 ansible.utils -p ./collections )를 설치합니다. 플레이북 디렉터리는 자동화 실행 환경에 자동으로 마운트되고 자동화 콘텐츠로 이동하여 컬렉션을 찾습니다. 또 다른 옵션은 Ansible Builder를 사용하여 컬렉션을 자동화 실행 환경으로 빌드하는 것입니다. 이렇게 하면 자동화 컨트롤러에서 플레이북을 인접한 컬렉션 디렉터리를 지원하므로 콘텐츠 작성자가 프로덕션 준비가 된 플레이북을 작성할 수 있습니다. 컬렉션이 다른 디렉터리에 있는 경우 ANSIBLE_COLLECTIONS_PATHS 변수를 설정하고 디렉터리에 대한 사용자 지정 볼륨 마운트를 구성합니다. ( Automation content navigator general settings for execution-environment-volume-mounts)를 참조하십시오.
자동화 실행 환경을 사용하지 않을 때 Ansible 컬렉션을 배치해야 하는 이유는 무엇입니까?
자동화 실행 환경을 사용하지 않는 경우 Ansible은 기본 위치에서 컬렉션을 찾습니다. Ansible 컬렉션 사용 가이드를 참조하십시오.
vars_prompt 또는 pause/prompt 를 사용할 때 플레이북이 중단된 이유는 무엇입니까?
기본적으로 자동화 콘텐츠는 자동화 컨트롤러에서 플레이북을 실행하는 것과 동일한 방식으로 플레이북을 실행합니다. 이렇게 하면 콘텐츠 작성자가 프로덕션 준비가 된 플레이북을 작성하는 데 도움이 됩니다. vars_prompt 또는 pause\prompt 를 사용할 수 없는 경우 playbook-artifact 생성을 비활성화하면 자동화 컨텐츠가 ansible-playbook 과 호환되는 방식으로 플레이북을 실행하고 사용자 상호 작용을 허용하는 방식으로 플레이북을 실행합니다.
자동화 콘텐츠가 터미널 색상을 변경하거나 잘못된 것처럼 보이는 이유는 무엇입니까?
자동화 콘텐츠는 터미널에 OSC4 호환성이 있는지 쿼리합니다. OSC4, 10, 11, 104, 110, 111은 터미널이 색상 변경 및 되돌리기를 지원한다는 것을 나타냅니다. 터미널에 해당 기능이 잘못 표시될 수 있습니다. --osc4 false 를 설정하여 OSC4 탐지를 비활성화할 수 있습니다. 환경 변수 또는 설정 파일에서 이를 처리하는 방법에 대한 자동화 콘텐츠 탐색을 참조하십시오.
자동화 콘텐츠 탐색에서 사용하는 색상을 변경하려면 어떻게 해야 합니까?
--osc4 false 를 사용하여 탐색기에서 터미널 정의된 색상을 사용하도록 강제 적용합니다. 환경 변수 또는 설정 파일에서 이를 처리하는 방법에 대한 자동화 콘텐츠 탐색을 참조하십시오.
플레이북 디렉터리에 있는 모든 site-artifact-2021-06-02T16:02:33.911259+00:00.json 파일은 어떻게 됩니까?
자동화 콘텐츠는 모든 플레이북 실행에 대한 플레이북 아티팩트를 생성합니다. 이는 자동화 결과가 완료된 후 검토, 동료와 공유 및 문제 해결, 규정 준수 또는 변경 제어 목적을 유지하는 데 유용할 수 있습니다. 플레이북 아티팩트 파일에는 모든 플레이 및 작업에 대한 자세한 정보와 플레이북 실행의 stdout 이 있습니다. 자동화 콘텐츠 탐색 세션에서 ansible-navigator 재생 <filename > 또는 :replay <filename >을 사용하여 플레이북 아티팩트를 검토할 수 있습니다. 필요한 보기에 따라 --mode stdout--mode 대화형 을 사용하여 모든 플레이북 아티팩트를 검토할 수 있습니다. 플레이북 아티팩트 작성 및 기본 파일 이름 지정 규칙을 비활성화할 수 있습니다. 환경 변수 또는 설정 파일에서 이를 처리하는 방법에 대한 자동화 콘텐츠 탐색을 참조하십시오.
:open 을 사용할 때 vi 가 열려 있는 이유는 무엇입니까?

자동화 컨텐츠는 기본 편집기의 터미널에 표시되는 모든 항목을 엽니다. 기본값은 vi +{line_number} {filename} 또는 EDITOR 환경 변수의 현재 값으로 설정됩니다. 이와 관련된 편집기는 편집기가 콘솔인지 터미널 기반인지 여부를 나타내는 editor-console 설정입니다. 다음은 유용한 대체 설정의 예입니다.

# emacs
ansible-navigator:
  editor:
    command: emacs -nw +{line_number} {filename}
    console: true
Copy to Clipboard Toggle word wrap
# vscode
ansible-navigator:
  editor:
    command: code -g {filename}:{line_number}
    console: false
Copy to Clipboard Toggle word wrap
#pycharm
ansible-navigator:
  editor:
    command: charm --line {line_number} {filename}
    console: false
Copy to Clipboard Toggle word wrap
구성 설정이 적용되는 순서는 무엇입니까?

자동화 콘텐츠 탐색 구성 시스템은 다양한 소스의 설정을 가져와서 다음 순서로 계층적으로 적용합니다(마지막 적용된 변경 사항이 가장 널리 사용되는 경우).

  1. 기본 내부 값
  2. 설정 파일의 값
  3. 환경 변수의 값
  4. 명령줄에 지정된 플래그 및 인수
  5. while issuing : 텍스트 기반 사용자 인터페이스 내에서 명령
작동하지 않은 것, 어떻게 해결할 수 있습니까?
자동화 콘텐츠 탐색에는 적절한 로깅 메시지가 있습니다. --log-level debug 를 사용하여 디버그 로깅을 활성화할 수 있습니다. 버그를 발견한 경우 문제를 기록하고 로그 파일의 세부 정보를 포함합니다.

법적 공지

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