我需要在 RHEL 7 系统上安装 Python 3.9(每个环境中大约 10 台服务器),然后在系统上更新/安装 Ansible 2.11。这是为了在这些服务器上升级 Confluence 版本。据我了解,在 RHEL 7 上,我们必须保留操作系统使用的 python 2。目前,我们在其他非沙盒环境的主机服务器上有 Python2 和 Ansible 2.9.27。
在我的沙箱服务器上,作为 POC,我使用这些手动安装了 Python 3.9安装步骤然后安装Ansible 2.11(使用python3 -m pip install ansible==4.10.0
)
但在非沙箱环境中,如果可能的话,我想尝试使用 Ansible playbook 来执行此操作。
我可以尝试创建一个剧本并将上述文档中的步骤添加到 Ansible shell 或命令模块中,但我关心/问题是 - 是否可以安装 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”将被替换为您的特定包的名称。