如何在Debian 10上安装Ansible AWX

如何在Debian 10上安装Ansible AWX

Ansible是一种开源自动化工具,用于软件供应,配置管理和应用程序部署。这使您可以在多个系统上自动安装,配置和部署应用程序。

AWX是用于控制Ansible的基于Web的应用程序。 通过AWX Web界面,您可以管理Ansible剧本,清单,机密和计划的作业。

特征

  • 支持多种云,例如AWS,Azure,GCP等。
  • 跟踪用户活动
  • 提高效率和安全性
  • 基于用户角色的访问控制和身份验证
  • 作业调度
  • 综合通知

这篇文章将向您展示如何在Debian 10服务器上安装AWX。

先决条件

  • 运行Debian 10的服务器。
  • 根密码是在服务器上设置的。

入门

首先,使用以下命令将所有系统软件包更新为最新版本:

apt-get update -y

更新所有软件包后,请使用以下命令安装其他必需的软件包。

apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y

安装所有软件包后,可以继续执行下一步。

安装Ansible

接下来,您需要在系统上安装Ansible。默认情况下,最新版本的Ansible不包含在Debian 10存储库中。因此,您需要将Ansible存储库添加到APT。您可以使用以下命令添加它。

echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list

添加存储库后,使用以下命令添加GPG密钥:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

然后更新存储库,并使用以下命令安装最新版本的Ansible:

apt-get update -yapt-get install ansible -y

安装Ansible后,您可以使用以下命令检查Ansible的安装版本:

ansible --version

您应该获得以下输出:

ansible 2.9.19
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0]

此时,Ansible已安装在您的系统上。现在,您可以继续下一步。

安装Docker和Docker Compose

接下来,您需要在系统上安装Docker和Docker Compose。默认情况下,最新版本的Docker在Debian 10默认存储库中不可用。因此,您需要将Docker CE存储库添加到您的系统。首先,使用以下命令添加Docker密钥和存储库:

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

然后更新存储库并使用以下命令安装Docker CE:

apt-get update -yapt-get install docker-ce -y

安装Docker之后,使用以下命令检查Docker的版本。

docker --version

您应该看到以下输出:

Docker version 20.10.5, build 55c4c88

接下来,您需要在系统上安装最新版本的Docker Compose。您可以使用以下命令下载Docker Compose二进制文件:

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -

下载完成后,使用以下命令设置适当的权限。

chmod +x docker-compose-Linux-x86_64

然后使用以下命令将Docker Compose二进制文件移至您的系统路径:

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

然后使用以下命令检查Docker Compose的版本:

docker-compose version

您应该获得以下输出:

docker-compose version 1.28.5, build c4eb3a1f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

此时,将在系统上安装Docker和Docker Compose。现在,您可以继续下一步。

安装Node.js和NPM

接下来,您需要在系统上安装Node.js和NPM。您可以使用以下命令安装Node.js和NPM:

apt-get install nodejs npm -ynpm install npm --global

然后使用以下命令安装其他Python依赖项:

apt-get install python3-pip git pwgen -y

然后使用以下命令安装与您的Docker Compose版本匹配的Docker Compose模块。

pip3 install docker-compose==1.28.5

完成后,您可以继续下一步。

警告:确保1.28.5与系统上安装的Docker Compose的版本匹配。

安装AWX

接下来,您需要在系统上安装AWX。首先,使用以下命令从GitHub存储库下载AWX:

wget https://github.com/ansible/awx/archive/17.1.0.zip

下载完成后,使用以下命令解压缩下载的文件。

unzip 17.1.0.zip

然后使用以下命令将目录更改为安装程序:

cd awx-17.1.0/installer/

然后运行以下命令以生成密钥:

pwgen -N 1 -s 30

您应该获得以下输出:

3BgGA8MnM4gKTXV8r7vQhwjjNixO6o

然后编辑清单文件以定义管理员用户名,密码和密钥。

nano inventory

更改以下行。

admin_user=admin
admin_password=securepassword
secret_key=3BgGA8MnM4gKTXV8r7vQhwjjNixO6o

完成后,保存文件,将其关闭,然后运行以下命令来安装AWX。

ansible-playbook -i inventory install.yml

如果成功安装了AWX,您将看到以下输出:

changed: [localhost]

TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={u'mode': u'0600', u'file': u'environment.sh'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'credentials.py'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'docker-compose.yml'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'nginx.conf'})
changed: [localhost] => (item={u'mode': u'0664', u'file': u'redis.conf'})

TASK [local_docker : Render SECRET_KEY file] **************************************************************************************************
changed: [localhost]

TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ********************
ok: [localhost]

TASK [local_docker : Run migrations in task container] ****************************************************************************************
changed: [localhost]

TASK [local_docker : Start the containers] ****************************************************************************************************
changed: [localhost]

TASK [local_docker : Update CA trust in awx_web container] ************************************************************************************
changed: [localhost]

TASK [local_docker : Update CA trust in awx_task container] ***********************************************************************************
changed: [localhost]

TASK [local_docker : Wait for launch script to create user] ***********************************************************************************
ok: [localhost]

TASK [local_docker : Create Preload data] *****************************************************************************************************
changed: [localhost]

PLAY RECAP ************************************************************************************************************************************
localhost                  : ok=21   changed=12   unreachable=0    failed=0    skipped=73   rescued=0    ignored=1   

此时,AWX将安装在您的系统上。现在,您可以继续访问AWX Web UI。

存取Ansible AWX

然后打开Web浏览器并使用URL访问Ansible AWX Web界面。 HTTP://您的服务器IP.. 您将被重定向到AWX登录页面。

输入管理员用户名和密码,然后单击 日志 按钮。 Ansible AWX仪表板显示在下一页上。

Ansible AWX仪表板

结论

恭喜!您已经在Debian 10服务器上成功安装了Ansible AWX。 现在,您可以从AWX仪表板轻松管理Ansible剧本,库存和作业。如有任何疑问,请随时与我们联系。

Source

Sidebar