Ansible 파이썬 인터프리터 경고 해결하기

AnsibleBeginner
지금 연습하기

소개

이번 챌린지에서는 파이썬 인터프리터와 관련된 흔한 Ansible 설정 문제를 다룹니다. Ansible 명령을 실행할 때 기본 파이썬 인터프리터에 대한 경고 메시지가 나타날 수 있습니다. 여러분의 과제는 Ansible 을 적절하게 설정하여 이러한 경고를 해결하는 것입니다. 이 과정에서 Ansible 설정 파일을 이해하고, 환경을 최적화하기 위해 필요한 조정을 수행하는 능력을 테스트하게 됩니다.

이 콘텐츠는 챌린지입니다. 가이드가 제공되는 실습과 달리, 학습 단계를 따라가는 것이 아니라 독립적으로 과제를 완수해야 합니다. 챌린지는 다소 어려울 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 솔루션을 확인하세요. 통계 데이터에 따르면 이 챌린지는 초급 수준이며, 합격률은 97%, 학습자 만족도는 97%입니다.

올바른 파이썬 인터프리터를 사용하도록 Ansible 설정하기

사전 설정된 Ansible 환경이 제공되었습니다. 간단한 Ansible 명령을 실행하려고 하면 파이썬 인터프리터에 관한 경고가 발생합니다. 여러분은 이 경고를 해결하고 인터프리터 관련 문제 없이 Ansible 명령이 실행되도록 조치해야 합니다.

경고 메시지를 확인하려면 터미널에서 다음 명령을 실행하세요:

ansible all -m ping

다음과 유사한 출력이 나타날 것입니다:

[DEPRECATION WARNING]: Distribution ubuntu 22.04 on host localhost should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
localhost | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}
[DEPRECATION WARNING]: Distribution ubuntu 22.04 on host web1 should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See
https://docs.ansible.com/ansible/2.10/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
web1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    },
    "changed": false,
    "ping": "pong"
}

목표는 이러한 경고를 제거하고 Ansible 이 Python 3 를 사용하도록 보장하는 것입니다.

과제

  • Ansible 명령 실행 시 발생하는 파이썬 인터프리터 경고를 확인합니다.
  • 올바른 파이썬 인터프리터를 지정하기 위한 Ansible 설정 파일을 생성합니다.
  • 명령을 다시 실행하여 경고가 해결되었는지 확인합니다.

요구 사항

  1. 모든 작업은 /home/labex/project 디렉토리에서 수행해야 합니다.
  2. /home/labex/project 디렉토리에 ansible.cfg라는 이름의 Ansible 설정 파일을 생성하세요.
  3. 적절한 설정 옵션을 사용하여 파이썬 인터프리터를 /usr/bin/python3으로 설정하세요.
  4. 인벤토리 파일은 이미 /etc/ansible/hosts에 구성되어 있습니다 (초기 설정에 포함됨).

예시

Ansible 을 올바르게 설정한 후 명령을 실행하면 파이썬 인터프리터 경고가 나타나지 않아야 합니다. 출력 결과는 다음과 같아야 합니다:

localhost | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
web1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 파이썬 인터프리터와 관련된 일반적인 Ansible 설정 문제를 해결하는 방법을 배웠습니다. 더 이상 권장되지 않는 파이썬 인터프리터 사용에 대한 경고를 확인하고, 대신 Python 3 를 사용하도록 Ansible 을 구성하는 방법을 익혔습니다. Ansible 설정 파일 (ansible.cfg) 을 생성하고 interpreter_python 옵션을 사용하여 올바른 경로를 지정함으로써, Ansible 이 적절한 파이썬 버전을 사용하도록 보장했습니다. 이 실습은 시스템의 파이썬 환경과 Ansible 이 원활하게 연동되도록 설정하는 것의 중요성을 잘 보여주며, 이는 불필요한 경고를 방지하고 자동화 명령을 안정적으로 실행하는 데 필수적입니다.