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

时间:2020-02-23 14:32:42  来源:igfitidea点击:

Ansible AWX是一个免费的和开源的Ansible管理工具,为提供系统管理员和开发人员,具有易于使用,直观和强大的基于Web的用户界面,用于管理计划在某些情况下运行的Ansible播放册,秘密,库存和自动化作业。
间隔。
本教程介绍了如何在Debian 10(Buster)Linux系统上安装Ansible AWX。

第1步:在Debian上安装Ansible

更新APT索引。

sudo apt update

添加Ansible APT存储库。

echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/ansible.list
sudo apt -y install gnupg2
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

使用以下命令安装最新版本的ANSIBLE。

sudo apt update
sudo apt install -y ansible

通过检查可用版本确认安装。

$ansible --version
ansible 2.8.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/debian/.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, Apr  6 2019, 01:42:57) [GCC 8.3.0]

第2步:安装Docker和Docker Compose

所有ANSIBLE AWX服务在Docker容器中运行。
为此,我们需要安装Docker引擎。

在Debian 10上安装Docker

使用以下命令确认Docker版本安装。

~$docker info
Client:
 Debug Mode: false
Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.4
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 4.19.0-5-cloud-amd64
 Operating System: Debian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.857GiB
 Name: deb10
 ID: PYX7:PPC7:DWI3:O4QD:H524:5HCS:VYJK:T7Y2:GP32:J6OF:AOWZ:XQKW
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

安装Docker Compose:

如何在Linux上安装最新的Docker

Docker撰写详细信息。

$docker-compose version
docker-compose version 1.24.1, build 4667896b
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2016

第3步:在Debian上安装Node.js和NPM

使用APT命令安装Node.js和NPM包。

sudo apt install -y nodejs npm
sudo npm install npm --global

第4步:在Debian 10上安装Ansible AWX(Buster)

在我们在Debian 10(Buster)上安装Ansible AWX之前,请安装一些必需的Ansible软件包和模块。

sudo apt -y install python3-pip git pwgen vim  python3-docker 
sudo pip3 install requests==2.14.2

更新默认Python版本。

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

安装Docker-Compose Python模块匹配Docker Compose版本。

$docker-compose version
docker-compose version 1.24.1, build 4667896
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2016
$sudo pip3 install docker-compose==1.24.1

使用git命令从github克隆源代码。

sudo su 
git clone --depth 50 https://github.com/ansible/awx.git

更改为AWX Installer目录

由于我们需要在安装程序目录下执行ansible播放簿,首先导航到此目录。

cd awx/installer/

检查AWX目录中的库存文件,我们可以根据需要自定义:

$nano inventory

生成AWX秘密密钥

$pwgen -N 1 -s 30
2fCkx2K5GnIjBz4OterhOC3ey0WPdj

使用正确设置的设置修改库存文件。
最小的设置:

dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/tmp/pgdocker
host_port=80
host_port_ssl=443
docker_compose_dir=/tmp/awxcompose
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
rabbitmq_password=awxpass
rabbitmq_erlang_cookie=cookiemonster
admin_user=admin
admin_password=StrongAdminpassword
create_preload_data=True
secret_key=2fCkx2K5GnIjBz4OterhOC3ey0WPdj

执行剧本

使用ANSIBLETHE Playbook名称安装Debian 10上的Ansible AWX是install.yml。

ansible-playbook -i inventory install.yml

安装输出,检查是否有任何错误消息。

使用docker ps命令获取运行容器列表。

第5步:访问Ansible AWX仪表板

Web Portal可通过hostip_or_hostname访问。
我们将获得类似于下面的仪表板。

使用Inventory文件中设置的管理员用户帐户密码登录。
身份验证后,我们将获得AWX管理仪表板。

第6步:在Debian 10上更新Ansible AWX

要更新,请将工作目录更改为AWX HOME。

cd ~/.awx/awxcompose/

停止Docker服务。

# docker-compose stop
Stopping awx_task      ... done
Stopping awx_web       ... done
Stopping awx_rabbitmq  ... done
Stopping awx_postgres  ... done
Stopping awx_memcached ... done

重新拉动码头图像。

# docker-compose pull
Pulling rabbitmq  ... done
Pulling memcached ... done
Pulling postgres  ... done
Pulling web       ... done
Pulling task      ... done

启动AWX Docker服务。

# docker-compose up --force-recreate -d
Recreating awx_postgres  ... done
Recreating awx_rabbitmq  ... done
Recreating awx_memcached ... done
Recreating awx_web       ... done
Recreating awx_task      ... done