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 Playbookを試してみたいと思います。
PlayBookを作成し、上記のドキュメントの手順をAnsibleシェルまたはコマンドモジュールに追加しようとすることができますが、私の興味/質問は - Python 3.9をインストールし、Ansibleをバージョン2.11にインストール/アップグレードできるかどうかです。現在私のAnsibleは次のとおりです。 2.9.27 そしてPythonはPython 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」は特定のパッケージの名前に置き換えられます。