Ansibleは、無料のオープンソース構成管理および自動化ツールであり、中央の場所から数百、数千のサーバーを管理するために使用されます。
Ansible AWXは、Red Hatが後援するオープンソースプロジェクトであり、IT環境でAnsibleを制御するのに役立ちます。これは、Ansible用のWebベースのインターフェースRESTAPIとタスクエンジンを提供します。 AWX Webベースのインターフェイスを使用して、プレイブック、シークレット、インベントリ、およびcronジョブを管理できます。
このチュートリアルでは、Debian10にDockerを使用してAnsibleAWXをインストールする方法を示します。
前提条件
- Atlantic.netクラウドプラットフォーム上の新しいDebian10VPS
- サーバーで構成されているrootパスワード
ステップ1–Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。オペレーティングシステムとしてDebian10を選択し、少なくとも4GBのRAMを搭載した新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Debian 10サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–Dockerをインストールする
まず、DockerとDockercomposeをシステムにインストールする必要があります。デフォルトでは、最新バージョンのDockerはDebian標準リポジトリで利用できないため、Dockerリポジトリをシステムに追加する必要があります。
次のコマンドを使用して、必要な依存関係をインストールします。
apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
次に、次のコマンドを使用してDockerGPGキーをダウンロードして追加します。
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add-
次に、次のコマンドを使用してDockerリポジトリを追加します。
add-apt-repository "deb [arch =amd64] https://download.docker.com/linux/debian $(lsb_release -cs)stable"
次に、Dockerリポジトリを更新し、次のコマンドを使用してDockercomposeを使用してDockerをインストールします。
apt-get update -yapt-get install docker-ce docker-compose -y
両方のパッケージがインストールされたら、次のコマンドを使用して、インストールされているDockerのバージョンを確認します。
docker --version
次の出力が得られるはずです:
Dockerバージョン19.03.13、ビルド4484c46d9d
ステップ2–Ansibleをインストールする
AWXはAnsibleの上に構築されています。そのため、システムにAnsibleをインストールする必要があります。
まず、次のコマンドを使用してAnsibleリポジトリを追加します。
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list
次に、リポジトリを更新し、次のコマンドを使用してAnsibleをインストールします。
apt-get update -yapt-get install ansible -y
Ansibleがインストールされたら、次のコマンドを使用して、インストールされているバージョンのAnsibleを確認します。
ansible --version
次の出力が得られるはずです:
ansible2.9.13構成ファイル=/etc/ansible/ansible.cfg構成されたモジュール検索パス=[u'/root/.ansible/plugins/modules'、u'/usr/share/ansible/plugins/modules' ]ansiblepythonモジュールの場所=/usr/lib/python2.7/dist-packages/ansible実行可能場所=/usr / bin / ansiblepythonバージョン=2.7.16(デフォルト、2019年10月10日、22:02:15)[GCC 8.3.0]
ステップ3–Node.jsとPythonライブラリをインストールする
まず、次のコマンドを使用してNode.js、NPM、Gitをインストールします。
apt-get install nodejs npm git -ynpm install npm --global
次に、次のコマンドを使用して、Docker用のPythonモジュールとその他の必要な依存関係をインストールします。
apt-get install python3-pip pwgen python3-docker -ypip3 install requests ==2.14.2
次に、次のコマンドを使用してデフォルトのPythonバージョンを更新します。
update-alternatives --install / usr / bin / python python /usr/bin/python2.7 1update-alternatives --install / usr / bin / python python / usr / bin / python3 2
次に、DockercomposePythonモジュールをシステムにインストールする必要があります。
まず、次のコマンドを使用して、インストールされているDockercomposeのバージョンを確認します。
docker-composeバージョン
次の出力が得られるはずです:
docker-composeバージョン1.21.0、build unknowndocker-pyバージョン:3.4.1CPythonバージョン:3.7.3OpenSSLバージョン:OpenSSL1.1.1d2019年9月10日
次に、次のコマンドを使用して、一致するバージョンのDockercomposePythonモジュールをインストールしました。
pip3 install docker-compose ==1.21.0
ステップ4–AnsibleAWXをインストールする
まず、次のコマンドを使用して、Gitリポジトリから最新バージョンのAWXソースをダウンロードします。
git clone --depth 50 https://github.com/ansible/awx.git
ダウンロードしたら、ディレクトリをawxに変更し、次のコマンドを使用してシークレットキーを生成します。
cd awx / installer / pwgen -N 1 -s 30
次の出力が得られるはずです:
4NaNkNcMBOj4Jxp4fWi91mymuW9TbR
次に、次のコマンドを使用して新しいインベントリファイルを作成します。
ナノインベントリ
以下に示すように、管理者ユーザー、パスワード、秘密鍵、ポート、ホスト名を含む次の行を追加します。
dockerhub_base=ansibleawx_task_hostname=awxawx_web_hostname=awxwebpostgres_data_dir=/tmp/pgdockerhost_port=80host_port_ssl=443docker_compose_dir=/tmp/awxcomposepg_username=awxpg_password=awxpasspg_database=awxpg_port=5432admin_user=adminadmin_password=adminpasswordcreate_preload_data=Truesecret_key=2fCkx2K5GnIjBz4OterhOC3ey0WPdj
終了したら、ファイルを保存して閉じます。
次に、プレイブックを実行して、次のコマンドでAnsibleAWXをインストールします。
ansible-playbook -i Inventory install.yml
Ansible AWXをインストールすると、次の出力が表示されます。
TASK [local_docker:DockerCompose構成の作成]************************************** ***********************************************かわった: [ 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:レンダリングSECRET_KEYファイル] *********************** ************************************************** *************************変更:[localhost] TASK [local_docker:コンテナを起動] ************ ************************************************** **************************************変更:[localhost] TASK [local_docker:CAの信頼を更新awx_webコンテナ内]********************************************** ************************************** ch anged:[localhost] TASK [local_docker:awx_taskコンテナのCA信頼を更新] ********************************** *************************************************かわった:[localhost] PLAY RECAP ******************************************** ************************************************** ************************************** localhost:ok =15 changed =7 unreachable=0失敗しました=0スキップ=86レスキュー=0無視=0
次に、次のコマンドを使用して、実行中のコンテナのリストを確認できます。
docker ps
次の出力が得られるはずです:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES167d008ee26f ansible/awx:14.1.0 "/usr/bin/tini -- /u…" About a minute ago Up About a minute 8052/tcp awx_task260c028bf07d ansible/awx:14.1.0 "/ usr / bin /tini-/b…"約1分前アップ約1分0.0.0.0:80->8052/ tcp awx_webe15d5ee1c940 postgres:10"docker-entrypoint.s…"約1分前アップ約1分分5432/tcpawx_postgres6472ee690066redis「docker-entrypoint.s…」約1分前アップ約1分6379/tcp _>ステップ5–AnsibleAWXダッシュボードにアクセスする
次に、Webブラウザーを開き、URL http:// your-server-ipを使用してAnsibleAWXダッシュボードにアクセスします。 。 AWXログインページにリダイレクトされます:
インベントリファイルで定義した管理者のユーザー名とパスワードを入力し、署名をクリックします IN ボタン。次のページにAnsibleAWXダッシュボードが表示されます。
結論
おめでとう!これで、Debian10にDockerを使用してAnsibleAWXが正常にインストールされました。AWXダッシュボードからAnsibleインベントリ、シークレット、プレイブックなどを簡単に制御できるようになりました。 Atlantic.NetのVPSホスティングで今すぐお試しください!
Linux