Ansible 2.9.27을 사용하여 RHEL 7에 Python 3.9 설치

Ansible 2.9.27을 사용하여 RHEL 7에 Python 3.9 설치

RHEL 7 시스템(환경당 최대 10개의 서버)에 Python 3.9를 설치한 다음 시스템에 Ansible 2.11을 업데이트/설치해야 합니다. 이는 해당 서버에서 Confluence 버전을 업그레이드하기 위한 것입니다. 내가 이해한 바로는 RHEL 7에서는 OS에서 사용하는 Python 2를 유지해야 합니다. 현재 샌드박스가 아닌 다른 환경의 호스트 서버에는 Python2 및 Ansible 2.9.27이 있습니다.

내 샌드박스 서버에서 POC로 다음을 사용하여 Python 3.9를 수동으로 설치했습니다.설치 단계그런 다음 Ansible 2.11을 설치합니다( 사용 python3 -m pip install ansible==4.10.0).

하지만 샌드박스가 아닌 환경에서는 가능하다면 Ansible 플레이북을 사용해 해보고 싶습니다.

플레이북을 생성하고 위 문서의 단계를 Ansible 셸 또는 명령 모듈에 추가하려고 시도할 수 있지만 내 관심사/질문은 - Python 3.9를 설치하고 Ansible을 버전 2.11로 설치/업그레이드할 수 있는지입니다. 현재 내 Ansible은 다음과 같습니다. 2.9.27 그리고 파이썬은 파이썬 2인가요? 아니면 서로 다른 환경의 모든 통합 서버에서 설치/업그레이드를 모두 자동화하는 더 좋은 방법이 있습니까?

누구든지 이에 대한 지침을 제공할 수 있습니까? 아니면 이 두 작업을 모두 수동으로 수행해야 합니까?

감사해요

답변1

나는 지역 배포판을 만드는 것에 대해 Jordan의 의견에 동의합니다. 저장소 생성에 대한 문서는 어디에서나 사용할 수 있지만 정확한 단계는 토폴로지에 따라 다릅니다. 수동으로 빠르게 막혔기 때문에 이 구문은 아마도 꺼져 있을 것입니다. 저장소가 완전히 설정되면 원격 저장소를 설치하고 지정된 패키지를 업그레이드하기 위한 간단한 매뉴얼입니다.

---
- hosts: [host list]
  become: true
  tasks:
        - name: Mount Repo
          mount:
                  path: /path/to/repo
                  src: [IP of repo host]:/repo
                  state: mounted
                  opts: defaults,option,option,option
                  fstype: nfs

        - name: run upgrade
          yum:
                  name: "*" #or name: "python.x86_64"
                  state: latest
                  skip_broken: true

name: "*"는 저장소의 필수 패키지를 업데이트하거나 원하는 패키지를 정확하게 지정할 수 있습니다. "python.x86_64"는 특정 패키지의 이름으로 대체됩니다.

관련 정보