在CentOS 8上安装和配置Ansible AWX

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南

这是续集。
这是续集。
这是续集。
这是续集。
这是续集。

这是续集。

这是续集。
这是续集。
这是续集。
这是续集。


这是续集。

这是续集。
这是续集。

作为系统管理员,您有可能每天重复执行某些任务,这些任务会占用您大量的时间,而这些时间本可以花在其他地方。如果您可以一次解决问题然后自动化解决方案怎么办? Ansible是Ansible擅长的领域,一旦您看到它的好处,就再也不会回头。Ansible是一个简单而强大的IT自动化引擎,成千上万的公司正在使用它来降低环境的复杂性并加速DevOps计划。

无论是应用程序的部署,服务器的日常维护,配置管理,持续交付,编排还是您可以描述的任何重复性工作,Ansible都可以为您处理。要给这头野兽增添美丽,AWX(Ansible Web eXecutable)提供了基于Web的用户界面,REST API和基于Ansible的任务引擎。AWX项目是Red Hat赞助的一个开源社区项目,使用户能够更好地控制其在IT环境中对Ansible项目的使用。是上游项目,从中最终衍生出Red Hat Ansible Tower产品。

“别等。时间永远不会恰到好处。” –拿破仑·希尔

先决条件

在运行部署之前,您需要在本地环境中安装以下组件

  • Ansible版本2.8+
  • Docker的最新版本
  • docker Python模块
  • GNU Make
  • Git版本1.8.4+
  • Python 3.6+
  • 节点10.x LTS版本

现在,我们应该准备好卷起袖子,穿上靴子,然后上班。

步骤1:安装Epel版本存储库和依赖项

我们需要来自Epel信息库的软件包,因此让我们按以下方式安装它:

sudo dnf -y install epel-release

AWX有一些需要依赖的软件包。我们可以通过运行以下命令来安装所有软件包。

sudo dnf install -y git python3-pip curl ansible gcc nodejs gcc-c++  gettext lvm2 device-mapper-persistent-data pwgen bzip2

禁用SELinux

如果您可以轻松处理SELinux,则这是可选的。要禁用SELinux,请运行以下命令并重新启动服务器。

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

步骤2:安装Docker和Docker Compose

AWX受支持,并且只能使用已部署到OpenShift集群,Kubernetes集群或docker-compose的Docker映像作为容器化应用程序运行。在本指南中,我们将使用Docker来启动和运行AWX。

首先,在安装Docker之前,将Docker存储库文件下载到/etc/yum.repos.d/docker-ce.repo并更新RPM索引缓存。

sudo curl  https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
sudo yum makecache 
sudo dnf -y  install docker-ce --nobest

启动并启用Docker服务以在启动时启动并检查其是否正在运行

$ sudo systemctl enable --now docker
$ systemctl status  docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-07-27 20:21:51 UTC; 5s ago
     Docs: https://docs.docker.com
 Main PID: 52836 (dockerd)
    Tasks: 22
   Memory: 49.8M
   CGroup: /system.slice/docker.service
           ├─52836 /usr/bin/dockerd -H fd://
           └─52843 containerd --config /var/run/docker/containerd/containerd.toml --log-level info

创建了docker组,但未将任何用户添加到该组中。将您的用户添加到该组中可在不使用sudo的情况下运行docker命令。

sudo usermod -aG docker $USER

查找有关在CentOS 8上安装Docker和Docker Compose的更多信息,以在Cent0S 8服务器上安装Docker和docker-compose。

接下来,我们将使用pip3命令来安装docker-compose和docker python模块,如下所示。

sudo pip3 install -U docker docker-compose

确认安装的版本。

$ docker-compose version
 docker-compose version 1.26.2, build unknown     
 docker-py version: 4.2.2
 CPython version: 3.6.8
 OpenSSL version: OpenSSL 1.1.1c FIPS  28 May 2019

步骤3:从git克隆AWX

到目前为止,我们已经涵盖了AWX需要呼吸的所有先决条件,我们终于可以安全地克隆并安装Ansible AWX,让我们使用以下命令从Git获取AWX的文件。

cd ~
git clone --depth 50 https://github.com/ansible/awx.git

转到安装程序目录

安装程序目录中有一个配置文件,我们需要对其进行修改和执行,因此请导航至该目录。

cd ~/awx/installer/

在编辑清单文件之前,通过运行以下命令来生成将使用的秘密加密密钥。

$ pwgen -N 1 -s 30
yBs76VurxRiBwtDHrrF2JJlLgVrcv3

编辑清单文件并对其进行自定义以适合您的环境需求。

$ vim inventory

[all:vars]
dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir="~/.awx/pgdocker"
host_port=80
host_port_ssl=443
docker_compose_dir="~/.awx/awxcompose"
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
admin_user=admin
admin_password=SuperSecret
create_preload_data=True
awx_alternate_dns_servers="8.8.8.8,8.8.4.4"
secret_key=yBs76VurxRiBwtDHrrF2JJlLgVrcv3
awx_official=true

更改防火墙规则

如果您正在运行防火墙, 假面舞会 并允许http和https服务。这非常重要,请不要跳过它。如果更改了先前清单文件中的端口,也请在防火墙中也允许它。

sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload

执行剧本

运行install Ansible Playbook部署AWX docker容器。运行ansible-playbook命令,后跟选项-i告诉它要使用的清单文件.playbook文件的名称为install.yml。

sudo ansible-playbook -i inventory install.yml

上面的命令将花费一些时间来完成。完成后,您可以使用docker ps命令检查已创建的Docker容器及其状态。

$ docker ps

CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                  NAMES       
feb21b5e6c62        ansible/awx:13.0.0   "tini -- /usr/bin/la…"   3 minutes ago       Up 24 seconds       8052/tcp               awx_task    
423d8c6e4550        ansible/awx:13.0.0   "tini -- /bin/sh -c …"   3 minutes ago       Up 22 seconds       0.0.0.0:80->8052/tcp   awx_web     
11d2953d4f67        postgres:10          "docker-entrypoint.s…"   3 minutes ago       Up 22 seconds       5432/tcp               awx_postgres
724d5c4f8162        redis                "docker-entrypoint.s…"   3 minutes ago       Up 25 seconds       6379/tcp               awx_redis   

步骤4:访问AWX Web界面

要访问AWX Web控制台,请将浏览器指向Ansible的AWX服务器IP:http:// your-server-ip-address。如果您更改了清单文件中的端口配置,则将浏览器指向http:/ /您的服务器IP地址:

欢迎您进入登录页面,如下图所示。

在CentOS 8上安装和配置Ansible AWX

打开后,输入 管理员 用户名和 admin_password 身份验证成功后,您将进入AWX管理仪表板,其中有很多事情要做,我们将仅涉及其中的一部分。在仪表板的左侧是导航菜单,您可以在其中快速导航到项目,库存,作业模板和作业

在CentOS 8上安装和配置Ansible AWX

步骤5:建立使用者和小组

AWX提供了一个默认用户admin,可以用来进行测试,但是如果您需要其他用户,则可以创建另一个用户。

要添加除默认找到的管理员以外的新用户,请单击左侧菜单上的“用户”选项卡。将显示一个新页面,您可以在其中添加新用户。单击绿色 + 图标,然后填写要添加的新用户的详细信息。

在CentOS 8上安装和配置Ansible AWX

完成后,点击“保存”。

在CentOS 8上安装和配置Ansible AWX

创建新团队同样如此。点击“队伍”标签在左侧菜单中。将显示一个新页面,您可以在其中添加新团队。点击绿色 + 图标,然后填写要添加的新团队的详细信息。

在CentOS 8上安装和配置Ansible AWX

完成后,点击“保存”。

在CentOS 8上安装和配置Ansible AWX

步骤6:创建组织

组织是用户,团队,项目和库存的逻辑集合,是AWX对象层次结构中的最高级别的对象,从左侧导航栏中,单击 组织机构 图标。您会发现默认组织已自动创建,并且可供Ansible AWX的所有用户使用。

在CentOS 8上安装和配置Ansible AWX

我们可以根据需要进行编辑,也可以通过更改其名称并添加用户,权限等来对其进行编辑。

在CentOS 8上安装和配置Ansible AWX

点击“用户数”标签并添加一个新用户。我之前没有创建过新用户,因此会出现admin默认用户。但是您可以将其他用户创建为共享用户 第5步

在CentOS 8上安装和配置Ansible AWX

如果您还有其他用户,则会在其中填充他们

在CentOS 8上安装和配置Ansible AWX

单击“用户”将显示与此组织相关的所有用户。“用户”是具有相关角色和凭据的Ansible AWX的访问者;将用户添加到组织中只会将其添加为成员,为该用户指定角色可以在的 权限 标签,如下例所示:

在CentOS 8上安装和配置Ansible AWX

步骤7:建立凭证

为了使Ansible登录并执行任务,需要凭据才能访问远程主机。AWX为我们提供了此功能。点击“证书在左侧菜单上,然后单击绿色 + 添加新的服务器凭据。

在CentOS 8上安装和配置Ansible AWX

填写名称,描述,组织,用户名,密码和凭据类型(一长串)。我们将选择计算机,因为在此示例中我们打算配置单个主机。您可以添加ssh密钥,以备不时之需基于身份的身份验证机制。还将以下特权升级添加到sudo。

在CentOS 8上安装和配置Ansible AWX

点击“保存”一旦完成。

在CentOS 8上安装和配置Ansible AWX

步骤8:创建一个新的清单并将其添加到组织中

库存是由Ansible管理的主机的集合。库存分配给组织,而针对库存启动剧本的权限则在用户和/或团队级别进行控制。

要创建和查看现有库存,请点击 存货 左侧导航栏中的图标。要创建新的广告资源,请点击添加(+)按钮,然后从下拉菜单列表中选择“广告资源”。

在CentOS 8上安装和配置Ansible AWX

输入此清单的名称和组织。单击“保存”,以便可以激活其他选项卡。

在CentOS 8上安装和配置Ansible AWX

在本例中,我们将添加一个主机,但是您知道可以创建一个包含一个或多个主机的组,您希望同时在它们上执行一些操作。单击“主持人”标签,然后点击 + 添加新主机。

在CentOS 8上安装和配置Ansible AWX

在加载的新页面上,添加IP或可解析的主机名以及说明。 Nginx的 在此示例中,给定主机上的名称即直观名称。

在CentOS 8上安装和配置Ansible AWX

点击“保存一旦完成,就应该创建新的库存。

在CentOS 8上安装和配置Ansible AWX

组和主机的概念

请注意,清单分为组和主机。组可能代表特定的环境(例如,“数据中心1”或“测试床”),服务器类型(例如,“ Web服务器”或“数据库服务器”)或任何其他表示形式您的环境。

步骤9:建立专案

项目是Ansible AWX中表示的Ansible剧本的逻辑集合,您可以通过以下方式管理剧本和剧本目录:将其手动放置在塔式服务器上的“项目基本路径”下,或者将剧本放入源代码管理(SCM)中Ansible AWX支持的系统,包括Git,Subversion和Mercurial。

要创建一个新项目,请按照与到目前为止相同的步骤进行操作。点击“专案”点击左侧菜单上的“选项卡,然后点击添加(+)创建一个新项目。

在CentOS 8上安装和配置Ansible AWX

在源代码管理器(SCM)类型上,您可以创建包含所有剧本的git repo,也可以根据需要在服务器上创建本地文件夹,如在SCM类型下选择手动时所建议的那样。我更喜欢在这个例子中添加一个git repo。注意,如果您有多个组织,我们仍然指的是您选择的组织。

在CentOS 8上安装和配置Ansible AWX

输入所有详细信息,然后单击“保存“。在git仓库(nginx.yml)上创建的文件具有以下内容:

---
- hosts: all
  gather_facts: true
  become: true
  become_user: root
  tasks:
    - apt:
        name: nginx
      when: ansible_os_family == "Debian"

附件截图如下:

在CentOS 8上安装和配置Ansible AWX

步骤10:设置模板并启动它

到目前为止,我们已经做了很多工作,剩下的就是将所有内容放到一个模板中。一个工作模板将项目中的Ansible剧本和启动它所需的设置结合在一起。点击“范本”标签在左侧导航菜单上。点击绿色添加 (+) 当像添加其他模板一样添加新模板时,在打开窗口时,只需选择我们在先前步骤中已配置的清单,项目,凭据和Playbook,并为模板提供名称和可选描述。

在CentOS 8上安装和配置Ansible AWX

完成后,向下滚动并点击“保存“。保存后,您可以“发射”这是一项工作。

在CentOS 8上安装和配置Ansible AWX

点击启动后,您将被重定向到“工作”页面,您将在其中看到它实时执行,并显示输出。

在CentOS 8上安装和配置Ansible AWX

如果一切顺利,剧本应该由Ansible在后台成功运行,一路遇到的所有错误都将显示在右侧。

在CentOS 8上安装和配置Ansible AWX

登录到正在测试的服务器,并检查nginx是否已成功安装

在CentOS 8上安装和配置Ansible AWX

令人惊奇的是,Ansible AWX安装已正式安装并正常运行。

有关Ansible Tower的更多信息| AWX可以在RedHat网站上找到 Ansible塔快速入门指南

Ansible学习课程:


绝对适合初学者开发

绝对适合初学者开发

★★★★★
(13530)

$ 14.07

$ 117.24

有现货

立即购买

在CentOS 8上安装和配置Ansible AWXUdemy.com


Ansible高级开发人员

Ansible高级开发人员

★★★★☆
(2811)

$ 14.07

$ 164.14

有现货

立即购买

在CentOS 8上安装和配置Ansible AWXUdemy.com


通过Docker,Kubernetes和Azure DevOps掌握DevOps

通过Docker,Kubernetes和Azure DevOps掌握DevOps

★★★★☆
(1443)

$ 14.07

$ 164.14

有现货

立即购买

在CentOS 8上安装和配置Ansible AWXUdemy.com


DevOps项目:带有Jenkins Ansible Docker Kubernetes的CI / CD

DevOps项目:带有Jenkins Ansible Docker Kubernetes的CI / CD

★★★★☆
(3109)

$ 14.07

$ 87.93

有现货

立即购买

在CentOS 8上安装和配置Ansible AWXUdemy.com

结论

Ansible可以改变您日常管理任务的方式,可以从您的手上分担很多手动工作,并为您提供充足的时间完成其他任务。利用此技术作为创新引擎,更快地交付您的应用程序并取胜大。

您可能会喜欢的其他激动人心的指南包括:

使用Ansible在Linux上管理用户和组

如何为Ansible生成Linux用户加密密码

使用Ansible在Debian 10上安装Apache Tomcat 9

如何在Debian 10(Buster)上安装Ansible AWX

在Ubuntu Linux上设置Ansible AWX

使用Ansible和Kubespray部署Kubernetes集群

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南

这是续集。
这是续集。
这是续集。
这是续集。
这是续集。

这是续集。

这是续集。
这是续集。
这是续集。
这是续集。


这是续集。

这是续集。
这是续集。

Sidebar