6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

awxをインストールしてみた

Posted at

本記事はawxをDocker CEにインストールした時の手順をまとめたものです。

参考サイト

・awx概要説明
https://github.com/ansible/awx
・awxインストール手順
https://github.com/ansible/awx/blob/devel/INSTALL.md
→インストール要件について記載されているため必ず参照すること

awxインストール前設定

awxを構築するために、以下を事前準備する必要があります。
Docker、docker-py、ansible、git、Node.js、npm、GNU Make

Docker CE、docker-pyインストール

awxはコンテナで構成されているため、Dockerやkubernetesをインストールする必要があります。
先日私が記載した内容をもとにDocker CEをインストールしていきます。
CentOS 7.6にDocker CEをインストールしてみた
また、docker-py README.md を参照し docker-py をインストールします。

Docker CEインストール

[root@awx ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@awx ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[root@awx ~]# yum install -y docker-ce docker-ce-cli containerd.io

docker-pyインストール

[root@awx ~]# yum -y install epel-release
[root@awx ~]# yum -y install python-pip

[root@awx ~]# pip install docker

[root@awx ~]# systemctl enable docker
[root@awx ~]# systemctl start docker

ansibleインストール

[root@awx ~]# yum -y install ansible

gitインストール

updatesリポジトリのgitはバージョンが古い。

[root@awx ~]# yum info git | grep ^Version
Version     : 1.8.3.1

そのため、IUS からダウンロードする。
最新情報については Getting Started を参照すること。

[root@awx ~]# yum -y install https://centos7.iuscommunity.org/ius-release.rpm
[root@awx ~]# yum --disablerepo=* --enablerepo=ius info git2u | grep ^Version
Version     : 2.16.5
[root@awx ~]# yum --disablerepo=* --enablerepo=ius -y install git2u

以下のエラーが表示された場合、
perl-TermReadKey perl-Error libsecret をインストールしてから、git2uをインストールする。

Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(warnings)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(File::Find)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(lib)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(Getopt::Long)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(Time::Local)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(strict)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(IPC::Open2)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: /usr/bin/perl
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(File::Basename)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(File::Spec)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(Exporter)
Error: Package: git2u-core-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(IPC::Open2)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(Cwd)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(strict)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl >= 5.008
Error: Package: git2u-core-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(warnings)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(Error)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(Error)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: libsecret-1.so.0()(64bit)
Error: Package: git2u-core-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: /usr/bin/perl
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(:MODULE_COMPAT_5.16.3)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl >= 5.008
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(warnings)
Error: Package: git2u-core-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(strict)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(Carp)
Error: Package: git2u-perl-Git-2.16.5-1.ius.centos7.noarch (ius)
           Requires: perl(Fcntl)
Error: Package: git2u-2.16.5-1.ius.centos7.x86_64 (ius)
           Requires: perl(Term::ReadKey)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@awx ~]# yum -y install perl-TermReadKey perl-Error libsecret
[root@awx ~]# yum --disablerepo=* --enablerepo=ius -y install git2u

バージョン確認

[root@awx ~]# git --version
git version 2.16.5

Node.js、npm インストール

最新のインストール手順については、Node.js README を参照すること。
Node.jsをインストールするとnpmも同時にインストールされます。

[root@awx ~]# curl -sL https://rpm.nodesource.com/setup_8.x | bash -
[root@awx ~]# yum install -y nodejs
[root@awx ~]# yum -y install gcc-c++ make

バージョン確認

[root@awx ~]# npm -v
6.4.1

再起動

[root@awx ~]# shutdown -r now

awxインストール

git cloneを実行し、inventoryファイルなどをコピーする。
awx環境 は ansible により構築されます。

[root@awx ~]# git clone https://github.com/ansible/awx

以下はawxに設定される環境情報です。
適宜変更します。(今回は変更せずに実行します。)

[root@awx ~]# egrep -v '^#' awx/installer/inventory | egrep -v '^$'
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python"
[all:vars]
dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/tmp/pgdocker
host_port=80
docker_compose_dir=/var/lib/awx
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
rabbitmq_password=awxpass
rabbitmq_erlang_cookie=cookiemonster
admin_user=admin ←awxログインユーザ
admin_password=password ←awxログインユーザ用パスワード
create_preload_data=True
secret_key=awxsecret

playbook実行。
unreachable=0 failed=0 であれば正常終了です。

[root@awx ~]# cd awx/installer/
[root@awx installer]# ansible-playbook -i inventory install.yml

PLAY RECAP **************************************************************************************************************************************************
localhost                  : ok=14   changed=7    unreachable=0    failed=0
[root@awx ~]# 

補足情報

[root@awx installer]# docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED              STATUS              PORTS                                                 NAMES
b035f8b79d12        ansible/awx_task:3.0.1       "/tini -- /bin/sh -c…"   About a minute ago   Up About a minute   8052/tcp                                              awx_task
358b5df53858        ansible/awx_web:3.0.1        "/tini -- /bin/sh -c…"   About a minute ago   Up About a minute   0.0.0.0:80->8052/tcp                                  awx_web
b03dc0af759c        memcached:alpine             "docker-entrypoint.s…"   4 minutes ago        Up 4 minutes        11211/tcp                                             memcached
6d8543d032c2        ansible/awx_rabbitmq:3.7.4   "docker-entrypoint.s…"   4 minutes ago        Up 4 minutes        4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   rabbitmq
8c4fcc317eea        postgres:9.6                 "docker-entrypoint.s…"   4 minutes ago        Up 4 minutes        5432/tcp                                              postgres

[root@awx installer]# docker image ls
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
memcached              alpine              f0c2443012f4        9 days ago          10.2MB
postgres               9.6                 5e8319b0f67b        12 days ago         230MB
ansible/awx_task       3.0.1               885ea0fe022d        4 weeks ago         1.01GB
ansible/awx_web        3.0.1               70ac81469770        4 weeks ago         977MB
ansible/awx_rabbitmq   3.7.4               e08fe791079e        11 months ago       85.6MB

デモ用ジョブ実行確認

  1. http://xxx.xxx.xxx.xxx へアクセスする。
1.PNG 2. [テンプレート]をクリックし、[Demo Job Template]の横のロケットアイコンをクリックし、実行する。 2.PNG 3. ジョブ画面が起動するため、ステータスが 成功 となっていればOK。 3.PNG

以上

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?