3장. Ansible 개발 툴 설치
Red Hat은 Ansible 개발 툴 설치를 위한 두 가지 옵션을 제공합니다.
- VS Code 내에서 실행 중인 RHEL 컨테이너에 설치 이 옵션은 MacOS, Windows 및 Linux 시스템에 설치할 수 있습니다.
- RPM(Red Hat Package Manager) 패키지를 사용하여 로컬 RHEL 시스템에 설치합니다.
3.1. 요구 사항
Ansible 개발 툴을 설치하고 사용하려면 다음 요구 사항을 충족해야 합니다. Windows 설치 및 컨테이너화된 설치에 대한 추가 요구 사항은 절차에 표시됩니다.
- Python 3.10 이상
- Ansible 확장이 추가된 VS Code(Visual Studio Code)입니다. VS Code 설치를 참조하십시오.
- 컨테이너화된 설치의 경우 Micorsoft Dev Containers VS Code 확장입니다. Dev Containers 확장 설치 및 구성을 참조하십시오.
컨테이너화 플랫폼(예: Podman, Podman 데스크탑, Docker 또는 Docker Desktop)
참고Windows에서 Ansible 개발 툴을 위한 설치 절차는 Podman 데스크탑만 사용합니다. Windows 머신에 Podman 데스크탑 설치를 참조하십시오.
-
Red Hat 계정이 있으며
registry.redhat.io
에서 Red Hat 컨테이너 레지스트리에 로그인할 수 있습니다.registry.redhat.io
에 로그인하는 방법에 대한 자세한 내용은 Red Hat 컨테이너 레지스트리로 인증 을 참조하십시오.
3.1.1. Windows에서 Ansible 개발 툴 요구 사항
Windows의 VS Code에 있는 컨테이너에 Ansible 개발 툴을 설치하는 경우 추가 요구 사항이 있습니다.
- Linux용 Windows Cryostat(WSL2)
- podman Desktop
3.1.1.1. WSL 설치
배포 없이 WSL2를 설치합니다.
$ `wsl --install --no-distribution`
WSL2에 대해
cgroupsv1
을 비활성화하여cgroupsv2
를 사용합니다.%USERPROFILE%/wsl.conf
파일을 편집하고 다음 행을 추가하여cgroupv2
사용을 강제 적용합니다.[wsl2] kernelCommandLine = cgroup_no_v1="all"
3.1.1.2. Windows 머신에 Podman 데스크탑 설치
Podman 데스크탑을 설치합니다. Podman 데스크탑 설명서의 Windows에 Podman 데스크탑 및 Podman 설치 지침을 따르십시오.
설정 마법사에서 기본 설정을 변경할 필요가 없습니다.
podman 시스템이
cgroupsv2
를 사용하고 있는지 확인합니다.$ podman info | findstr cgroup
Podman 데스크탑 테스트:
$ podman run hello
3.1.1.3. Podman 데스크탑 설정 구성
다음 콘텐츠를 사용하여
%USERPROFILE%\bin\docker.
northeast 파일을 추가합니다.@echo off podman %*
이렇게 하면 VS Code
Dev
컨테이너 확장에 필요한 Docker를 설치할 필요가 없습니다.%USERPROFILE%\bin
디렉토리를PATH
에 추가합니다.- 설정을 선택하고 "사용자 계정의 환경 변수 편집"을 검색하여 모든 사용자 환경 변수를 표시합니다.
- 최상위 사용자 변수 상자에서 "Path"를 강조 표시하고 클릭하고 경로를 추가합니다.
- 를 클릭하여 새 콘솔의 경로를 설정합니다.
3.1.2. Red Hat 컨테이너 레지스트리로 인증
Red Hat 컨테이너 카탈로그를 통해 사용할 수 있는 모든 컨테이너 이미지는 이미지 레지스트리 registry.redhat.io
에서 호스팅됩니다. 레지스트리에는 이미지에 액세스하려면 인증이 필요합니다.
registry.redhat.io
레지스트리를 사용하려면 Red Hat 로그인이 있어야 합니다. 이는 Red Hat 고객 포털(access.redhat.com)에 로그인하고 Red Hat 서브스크립션을 관리하는 데 사용하는 계정과 동일합니다.
VS Code 내부의 컨테이너에 Ansible 개발 툴을 설치하려면 VS Code가 registry.redhat.io
에서 devtools
컨테이너를 가져올 수 있도록 VS Code를 시작하기 전에 registry.redhat.io
에 로그인해야 합니다.
VS Code 내부에서 컨테이너에서 Ansible 개발 툴을 실행 중이고 실행 환경으로 사용할 devcontainer 또는 devcontainer
를 실행 환경으로 가져오려면 VS Code 내부의 터미널에서 devcontainer
내의 터미널 프롬프트에서 로그인해야 합니다.
인증 정보와 함께 podman login
또는 docker login
명령을 사용하여 레지스트리의 콘텐츠에 액세스할 수 있습니다.
- Podman
$ podman login registry.redhat.io Username: my__redhat_username Password: ***********
- Docker
$ docker login registry.redhat.io Username: my__redhat_username Password: ***********
Red Hat 컨테이너 레지스트리 인증에 대한 자세한 내용은 Red Hat 고객 포털의 Red Hat Container Registry Authentication 을 참조하십시오.
3.1.3. VS Code 설치
- VS Code를 설치하려면 Visual Studio Code 설명서의 Visual Studio Code 다운로드 페이지에 있는 지침을 따릅니다.
3.1.4. VS Code Ansible 확장 설치
Ansible 확장은 Ansible에 대한 언어 지원을 VS Code에 추가합니다. 자동화 콘텐츠를 쉽게 생성하고 실행할 수 있도록 Ansible 개발 툴을 통합합니다.
Ansible 확장에 대한 자세한 내용은 Visual Studio Code Marketplace 를 참조하십시오.
학습 경로 - 확장 작업에 대한 튜토리얼은 Ansible VS Code Extension 시작하기 를 참조하십시오.
Ansible VS Code 확장을 설치하려면 다음을 수행합니다.
- VS Code를 엽니다.
- 활동 표시줄에서 확장 ( ) 아이콘을 클릭하거나 확장 보기를 클릭하여 를 표시합니다.
-
Extensions 보기의 검색 필드에
Ansible Red Hat
을 입력합니다. - Ansible 확장을 선택하고 클릭합니다.
파일의 언어를 Ansible로 인식하면 Ansible 확장은 자동 완료, 마우스 커서, 진단 및 goto와 같은 기능을 제공합니다. 파일에 대해 식별된 언어는 VS Code 창 하단에 있는 상태 표시줄에 표시됩니다.
다음 파일에는 Ansible 언어가 할당됩니다.
-
/playbooks
디렉터리의 YAML 파일 -
다음 이중 확장자가 있는 파일:
.ansible.yml
또는.ansible.yaml
-
Ansible에서 인식하는 특정 YAML 이름(예:
site.yml
또는site.yaml
) -
파일 이름에 "playbook": playbook
.yml 또는
이 포함된 YAML 파일Playbook .
yaml
확장이 플레이북 파일의 언어를 Ansible로 식별하지 않으면 Ansible 언어를 YAML 파일과 연결하는 절차를 따르십시오.
3.1.5. Ansible 확장 설정 구성
Ansible 확장에서는 여러 구성 옵션을 지원합니다.
사용자 수준, 작업 공간 수준 또는 특정 디렉터리에 대한 확장 설정을 구성할 수 있습니다. 사용자 기반 설정은 열린 VS Code 인스턴스에 전역적으로 적용됩니다. 작업 공간 설정은 작업 공간에 저장되고 현재 작업 공간이 열린 경우에만 적용됩니다.
다음과 같은 이유로 작업 공간에 대한 설정을 구성하는 것이 유용합니다.
- 플레이북 프로젝트와 관련된 구성을 정의하고 유지 관리하는 경우 다른 작업에 대해 선호하는 설정을 변경하지 않고 개별 프로젝트에 대해 Ansible 개발 환경을 사용자 지정할 수 있습니다. 프로젝트를 전환할 때마다 설정을 수동으로 재구성할 필요 없이 각 스택에 최적화된 Python 프로젝트, Ansible 프로젝트 및 C++ 프로젝트에 대해 다른 설정을 설정할 수 있습니다.
- 팀과 공유할 프로젝트에 대한 버전 제어를 설정할 때 작업 공간 설정을 포함하는 경우 모든 사용자가 해당 프로젝트에 대해 동일한 구성을 사용합니다.
프로세스
Ansible 확장 설정을 엽니다.
- 활동 표시줄에서 'Extensions' 아이콘을 클릭합니다.
Ansible 확장을 선택하고 'gear' 아이콘을 클릭한 다음 설정을 확장하여 확장 기능을 사용하여 확장 설정을 표시합니다.
또는
페이지를 엽니다. -
검색 창에
Ansible
을 입력하여 확장 설정을 표시합니다.
- 현재 VS Code 작업 공간에 대한 설정을 구성하려면 Workspace 탭을 선택합니다.
Ansible 확장 설정은 미리 채워집니다. 요구 사항에 맞게 설정을 수정합니다.
-
ansible-lint를 활성화하려면
을 선택합니다. -
실행 환경을 사용하려면
Ansible Execution Environment: Enabled
확인란을 선택합니다. - Ansible > 실행 환경: 이미지 필드에서 사용할 실행 환경 이미지를 지정합니다.
- Red Hat Ansible Lightspeed를 사용하려면 Ansible > Lightspeed: Enabled 박스를 선택하고 Lightspeed의 URL을 입력합니다.
-
ansible-lint를 활성화하려면
설정은 Visual Cryostat Marketplace 설명서의 Red Hat의 Ansible VS Code Extension 에 설명되어 있습니다.
3.1.6. Ansible 언어를 YAML 파일에 연결
Ansible VS Code 확장은 파일과 연결된 언어가 Ansible로 설정된 경우에만 작동합니다. 확장 기능은 자동 완료, 마우스 커서 및 진단과 같은 Ansible 플레이북을 생성하는 데 도움이 되는 기능을 제공합니다.
Ansible VS Code 확장에서는 Ansible 언어를 일부 파일과 자동으로 연결합니다. 아래 절차에서는 Ansible 파일로 인식되지 않는 파일의 언어를 설정하는 방법을 설명합니다.
Ansible 언어를 YAML 파일에 수동으로 연결
다음 절차에서는 VS Code에서 열려 있는 YAML 파일에 Ansible 언어를 수동으로 할당하는 방법을 설명합니다.
- VS Code에서 YAML 파일을 열거나 만듭니다.
- VS Code 창 하단에 있는 상태 표시줄에서 식별된 언어 위에 커서를 커서를 이동하여 언어 모드 선택 목록을 엽니다.
목록에서 Ansible 을 선택합니다.
파일의 VS Code 창 하단에 있는 상태 표시줄에 표시된 언어는 Ansible로 변경됩니다.
settings.json
에 Ansible 언어의 영구 파일 연결 추가
또는 settings.json
파일에서 Ansible 언어에 대한 파일 연결을 추가할 수 있습니다.
settings.json
파일을 엽니다.-
를 엽니다. -
검색 상자에
Workspace 설정을
입력하고 Open Workspace Settings (JSON) 을 선택합니다.
-
settings.json
에 다음 코드를 추가합니다.{ ... "files.associations": { "*plays.yml": "ansible", "*init.yml": "yaml", } }
3.1.7. Dev Containers
확장 설치 및 구성
컨테이너화된 버전의 Ansible 개발 툴을 설치하는 경우 VS Code에 Microsoft Dev Containers 확장을 설치해야 합니다.
- VS Code를 엽니다.
- 활동 표시줄에서 확장 ( ) 아이콘을 클릭하거나 확장 보기를 클릭하여 를 표시합니다.
-
확장 보기의 검색 필드에
Dev Containers
를 입력합니다. - Microsoft에서 Dev Containers 확장을 선택하고 클릭합니다.
Podman 또는 Podman 데스크탑을 컨테이너화 플랫폼으로 사용하는 경우 Dev Containers
확장에서 기본 설정을 수정해야 합니다.
Dev Containers
확장 설정에서 docker를 podman으로 바꿉니다.- VS Code에서 설정 편집기를 엽니다.
@ext:ms-vscode-remote.remote-containers
를 검색합니다.또는 활동 표시줄에서 확장 아이콘을 클릭하고
Dev Containers
확장의 고급 아이콘을 클릭합니다.
-
Dev > Containers:Docker 경로를
으로 설정합니다.podman
-
Dev > Containers:Docker Compose Path
를podman-compose
로 설정합니다.