RHEL/CentOS 8上的Ansible安装指南

时间:2020-01-09 10:34:04  来源:igfitidea点击:

我们可以使用多种方法安装ansible

  • 使用默认的程序包管理器,例如yum,dnf,apt等

  • 使用点

  • 使用源编译文件

在RHEL 8上使用软件包管理器进行安装

首先将系统注册到RHSM:

~]# subscription-manager register

添加Red Hat Ansible Engine订阅。
此命令将找到Red Hat Ansible Engine订阅:

~]# subscription-manager list --available

获取订阅的池ID,然后运行以下命令:

~]# subscription-manager attach --pool=<pool id>

启用Red Hat Ansible Engine存储库:

~]# subscription-manager repos --enable ansible-VERSION-for-rhel-8-x86_64-rpms

要订阅" ansible 2.9"存储库,请执行以下操作:

~]# subscription-manager repos --enable ansible-2.9-for-rhel-8-x86_64-rpms

使用默认的程序包管理器安装Ansible Engine:

~]# dnf -y install ansible

在CentOS 8上使用软件包管理器进行安装

如果我们使用的是CentOS 8,则需要访问相应的EPEL存储库

[root@server ~]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

这将安装并启用EPEL存储库

~]~]# dnf repolist
repo id                         repo name
AppStream                       CentOS-8 - AppStream
BaseOS                          CentOS-8 - Base
epel                            Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                    Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                          CentOS-8 – Extras

在可用的存储库中搜索ansible软件包。

~]# dnf search ansible
Last metadata expiration check: 1 day, 21:16:38 ago on Thu 17 Sep 2017 01:25:51 PM IST.
===================================== Name Exactly Matched: ansible =====================================
ansible.noarch : SSH-based configuration management, deployment, and task execution system

使用默认的程序包管理器安装Ansible

~]# dnf install -y ansible

检查ansible的版本

[root@controller ~]# ansible --version
ansible 2.9.13
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /bin/ansible
  python version = 3.6.8 (default, Apr 16 2017, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]

使用pip安装

说明:

这些步骤仅在此处提供,仅供参考,我们的控制器节点将通过DNF软件包管理器进行安装。

Ansible可以与Python软件包管理器pip一起安装。
如果Python系统上尚未提供pip,请运行以下命令进行安装:

~]# dnf -y install python3 python3-pip

检查pip3的版本

~]# pip3 --version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

以root用户身份以普通用户身份登录不能用于通过pip安装ansible。
接下来,作为普通用户启动安装过程:

[hynman@centos8-2 ~]$pip3 install ansible --user 
Collecting ansible
  Downloading https://files.pythonhosted.org/packages/32/62/eec759cd8ac89a866df1aba91abf785 486fed7774188a41f42f5c7326dcb/ansible-2.9.13.tar.gz (14.3MB)
    100% |████████████████████████████████| 14.3MB 36kB/s
Collecting jinja2 (from ansible)
  Downloading https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl (125kB)
    100% |████████████████████████████████| 133kB 1.1MB/s
<output trimmed>
Installing collected packages: MarkupSafe, jinja2, ansible
  Running setup.py install for ansible ... done
Successfully installed MarkupSafe-1.1.1 ansible-2.9.13 jinja2-2.11.2

检查Ansible版本

~]$ansible --version
ansible 2.9.13
  config file = None
  configured module search path = ['/home/hynman/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/hynman/.local/lib/python3.6/site-packages/ansible
  executable location = /home/hynman/.local/bin/ansible
  python version = 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)]

提示:

如果我们观察到安装了yum/dnf的ansible和pip版本的输出,则突出显示配置文件条目缺少pip。
因此,如果我们打算使用pip安装ansible,则必须手动创建ansible目录结构,而当我们使用yum或者dnf进行ansible安装时,这将自动完成