GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にDockerを使用してAnsibleAWXをインストールする方法

Ansible AWXは、Ansibleタワーのオープンソースバージョンです。 AWXは、Ansible上に構築されたWebベースのユーザーインターフェイス、REST API、およびタスクエンジンを提供します。これは、AWXの商用派生物であるTowerのアップストリームプロジェクトです。

このチュートリアルでは、Dockerを使用してAWXをインストールおよび構成する方法を示します。

私はcentos7の最小インストールと許容モードのSELinuxで3台のサーバーを使用します。

  • 192.168.1.25AWXサーバー
  • 192.168.1.21クライアント1
  • 192.168.1.22 client2

AWXサーバーのシステム要件

  • 少なくとも4GBのメモリ。
  • 少なくとも2つのCPUコア。
  • 少なくとも20GBのスペース。
  • Docker、Openshift、またはKubernetesを実行しています。

SELinux構成を確認してください。

 sestatus 

結果:

 [[email protected]〜]#sestatusSELinux status:enabledSELinuxfs mount:/ sys / fs / selinuxSELinux root directory:/ etc / selinuxLoaded policy name:targetedCurrent mode:permissiveMode from config file:permissivePolicy MLS status:enabledPolicy deny_unknown status:allowedMaxカーネルポリシーバージョン:28 [[メール保護]〜]#

Firewalldを無効にします。

 [[emailprotected]インストーラー]#systemctl stopfirewalld [[emailprotected]インストーラー]#systemctl disable FirewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink / etc / systemd / system / dbus-org.fedoraproject.FirewallD1.service。[[メールで保護された]インストーラー]#

/ etc / hosts

にホストエントリを追加する
 [[email protected]〜]#cat /etc/hosts192.168.1.25 awx.sunil.cc awx192.168.1.21 client1.sunil.cc client1192.168.1.22 client2.sunil.cc client2 [[email protected ]〜]#

epelリポジトリを有効にします。

 [[email protected]〜]#yum install -y epel-release 

パッケージをインストールします。

 [[email protected]〜]#yum install -y yum-utils device-mapper-persistent-data lvm2 ansible git python-devel python-pip python-docker-py vim-enhanced 

dockerce安定版リポジトリを構成します。

 [[email protected]〜]#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

Dockerをインストールしています。

 [[email protected]〜]#yum install docker-ce -y 

Dockerサービスを開始します。

 [[email protected]〜]#systemctl start docker 

Dockerサービスを有効にします。

 [[email protected]〜]#systemctl enable docker 

AWXリポジトリのクローンを作成します。

 [[email protected]〜]#git clone https://github.com/ansible/awx.git [[email protected]〜]#cd awx / [[email protected] awx]#git clone https:/ /github.com/ansible/awx-logos.git[[メール保護]awx]#pwd / root / awx[[メール保護]awx]#

/ root/awx内のインストーラーディレクトリに移動します。

[[メール保護]awx]#cdインストーラー/ 

インベントリ内の次のパラメータを編集します。

 [[email protected] awx]#vim Inventorypostgres_data_dir =/ var / lib / pgdockerawx_official =trueawx_alternate_dns_servers ="4.2.2.1,4.2.2.2" project_data_dir =/ var / lib / awx / projects 

構成は次のようになります。

 [[email protected] Installer]#cat Inventory | grep -v "#" localhost ansible_connection =local ansible_python_interpreter ="/ usr / bin / env python" [all:vars] dockerhub_base =ansibledockerhub_version =latestrabbitmq_version =3.6.14awx_secret_key =awxsecretpostgres_data_dir =/ var / lib / pgdockerhost_port =80docker_compose_dir =/ var / lib / awxpg_username =awxpg_password =awxpasspg_database =awxpg_port =5432awx_official =trueawx_alternate_dns_servers ="4.2.2.1,4.2.2.2" project_data_dir =/ var保護された]インストーラー]#

Dockerを介してAWXをデプロイしています。

 [[emailprotected]インストーラー]#ansible-playbook -i Inventory install.yml -vv 

サーバーの構成によっては、しばらく時間がかかります。

AWXのansibleplayのデプロイを確認するには、以下のコマンドを実行します。

 [[email protected] Installer]#docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES318c7c95dcbb ansible / awx_task:latest "/ tini-/ bin /sh-c。" 12分前アップ12分8052/tcp awx_task642c2f272e31 ansible / awx_web:latest "/ tini-/ bin /sh-c。" 12分前12分アップ0.0.0.0:80->8052/tcp awx_web641b42ab536f memcached:alpine"docker-entrypoint.s。" 18分前アップ18分11211/tcp memcachedb333012d90acrabbitmq:3「docker-entrypoint.s」 19分前アップ19分4369/tcp、5671-5672 / tcp、25672 / tcprabbitmqada52935513a postgres:9.6"docker-entrypoint.s。" 19分前アップ19分5432/tcp postgres [[メール保護]インストーラー]#

AWXの準備が整い、ブラウザからアクセスできます。

ユーザー名は「admin」、パスワードは「password」です。

AWXサーバーからのパスワードなしのログインを構成します

3つのホストすべてにユーザーを作成します。 3台のサーバーすべてで以下の手順に従います。

 [[email protected]〜]#useradd ansible [[email protected]〜]#useradd ansible [[email protected]〜]#useradd ansible 

sshキーの生成:

 [[email protected]〜]#su --ansible [[email protected]〜] $ ssh-keygen公開/秘密rsaキーペアを生成しています。キーを保存するファイルを入力してください(/home/ansible/.ssh/id_rsa ):作成されたディレクトリ'/home/ansible/.ssh'。パスフレーズを入力(パスフレーズがない場合は空):同じパスフレーズをもう一度入力:IDが/home/ansible/.ssh/id_rsaに保存されました。公開鍵が保存されました/home/ansible/.ssh/id_rsa.pubにあります。キーの指紋は次のとおりです:SHA256:j30gyTVQxcWIocdKMbVieZvfJzGkCjXhjtc5qu + fE8o[メールで保護]キーのランダムアートイメージは次のとおりです:+ --- [RSA 2048] ---- + | +o==。+。 || O.oo。 || *@。 || + @ * + || S * =o || B =.o o || ..=。o.o。|| .E ... o || .oo.o。 | + ---- [SHA256] ----- + [[メール保護]〜] $ 

3つのサーバーすべてにsudoersエントリをファイルの最後のエントリとして追加します。

 [[email protected]〜]#visudoansible ALL =(ALL)NOPASSWD:ALL 

id_rsa.pubのコンテンツを3台のサーバーすべてのauthorized_keysにコピーします。

<前> [メール]が保護の.ssh] $猫id_rsa.pubssh-RSA AAAAB3NzaC1yc2EAAAADAQABAAABAQC4QmuzjVnGUnT1o6xGXD3DCDPUMiTf0xUkOU4kYrkpxHYZ1nWG1MBNGWChyWobnTKYDh4c80 + ftSyPHAdeV6KOwADOu6MXvMXHMK3EDe4jn + R0ZArQTEF2qKSBgve23wQu5IoqdWjvBoIEGqxw3LkYbdGxZ5dqKlP5ePkRKal4TncV + tlhueDaKz8QfvXgz + y2jc3HMWAH6a7UYsDKutDttmDDVUwfMcvoS9j2VYOUHkTCenx / 2Y3296ULmWCREW9e6fTXLmOowIBDAar01CThmAzYCnBDNAFOsolh9dL1CKwLCvOyK1UBgJlfrzdGI / + fS7aFiaqhXpt6hI4xndJf [Eメール保護] [[メール]が保護の.ssh] $ PWD /ホーム/ ansible /.ssh[[email保護]〜] $猫の.ssh / authorized_keysssh-RSA AAAAB3NzaC1yc2EAAAADAQABAAABAQC4QmuzjVnGUnT1o6xGXD3DCDPUMiTf0xUkOU4kYrkpxHYZ1nWG1MBNGWChyWobnTKYDh4c80 + ftSyPHAdeV6KOwADOu6MXvMXHMK3EDe4jn + R0ZArQTEF2qKSBgve23wQu5IoqdWjvBoIEGqxw3LkYbdGxZ5dqKlP5ePkRKal4TncV + tlhueDaKz8QfvXgz + y2jc3HMWAH6a7UYsDKutDttmDDVUwfMcvoS9j2VYOUHkTCenx / 2Y3296ULmWCREW9e6fTXLmOowIBDAar01CThmAzYCnBDNAFOsolh9dL1CKwLCvOyK1UBgJlfrzdGI / + fS7aFiaqhXpt6hI4xndJf [Eメール保護] [[Eメール保護]〜] $ chmodの600の.ssh / authorized_keysに

client1

 [[email protected]〜]#su --ansible [[email protected]〜] $ ls [[email protected]〜] $ mkdir .ssh [[email protected]〜] $ cat .ssh / authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4Qmuzj + ftSyPHAdeV6KOwADOu6MXvMXHMK3EDe4jn + R0ZArQTEF2qKSBgve23wQu5IoqdWjvBoIEGqxw3LkYbdGxZ5dqKlP5ePkRKal4TncV + tlhueDaKz8QfvXgz + y2jc3HMWAH6a7UYsDKutDttmDDVUwfMcvoS9j2VYOUHkTCenx / 2Y3296ULmWCREW9e6fTXLmOowIBDAar01CThmAzYCnBDNAFOsolh9dL1CKwLCvOyK1UBgJlfrzdGI / + fS7aFiaqhXpt6hI4xndJf [Eメール保護] [[Eメール保護]〜] $ chmodの700の.ssh $ chmodの600の.ssh / authorized_keysに
[[メール]〜保護]

client2

 [[email protected]〜]#su --ansible [[email protected]〜] $ ls [[email protected]〜] $ mkdir .ssh [[email protected]〜] $ cat .ssh / authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4Qmuzj + ftSyPHAdeV6KOwADOu6MXvMXHMK3EDe4jn + R0ZArQTEF2qKSBgve23wQu5IoqdWjvBoIEGqxw3LkYbdGxZ5dqKlP5ePkRKal4TncV + tlhueDaKz8QfvXgz + y2jc3HMWAH6a7UYsDKutDttmDDVUwfMcvoS9j2VYOUHkTCenx / 2Y3296ULmWCREW9e6fTXLmOowIBDAar01CThmAzYCnBDNAFOsolh9dL1CKwLCvOyK1UBgJlfrzdGI / + fS7aFiaqhXpt6hI4xndJf [Eメール保護] [[Eメール保護]〜] $ chmodの700の.ssh $ chmodの600の.ssh / authorized_keysに
[[メール]〜保護]

キーレスログインの検証:

 [[email protected] x .ssh] $ ssh client1ホスト「client1(192.168.1.21)」の信頼性を確立できません。ECDSAキーフィンガープリントはSHA256:TUQNYdF4nxofGwFO7 / z + Y5dUETVEI0xPQL4n1cUcoCI.ECDSAキーフィンガープリントはMD5です: 5d:73:1f:64:0e:03:ac:a7:7b:33:76:08:6d:09:90:26接続を続行してもよろしいですか(はい/いいえ)? yes警告:既知のホストのリストに「client1,192.168.1.21」(ECDSA)を恒久的に追加しました。最終ログイン:Sun Mar 4 13:39:33 2018 [[email protected]〜] $ exitlogoutConnection toclient1closed。[[emailprotected ] .ssh] $ [[email protected] .ssh] $ ssh client2ホスト「client2(192.168.1.22)」の信頼性を確立できません。ECDSAキーフィンガープリントはSHA256:7JoWzteeQBwzc4Q3GGN + Oa4keUPMca/jtqv7gmmEZxg.ECDSAキーフィンガープリントはMDです。 :85:77:3a:a3:07:31:d4:c1:41:ed:30:db:74:b4:ce:67。接続を続行してもよろしいですか(はい/いいえ)? yes警告:既知のホストのリストに「client2,192.168.1.22」(ECDSA)を恒久的に追加しました。最終ログイン:Sun Mar 4 13:51:27 2018 [[email protected]〜] $ exitlogoutConnection toclient2closed。[[emailprotected ] .ssh] $ 

次に、このアイコンをクリックして、[資格情報]->[追加]

に移動します。

組織を選択し、ユーザー名と説明を入力します。

ここで、ユーザー名は「ansible」です

資格情報タイプで「マシン」を選択し、詳細を入力します。

AWXサーバーから秘密鍵を取得します。

 [[email protected] .ssh] $ pwd / home / ansible / .ssh [[email protected] .ssh] $ cat id_rsaid_rsa id_rsa.pub [[email protected] .ssh] $ cat id_rsa ----- BEGIN RSA PRIVATE KEY ----- MIIEpAIBAAKCAQEAuEJrs41ZxlJ09aOsRlw9wwgz1DIk39MVJDlOJGK5KcR2GdZ1htTATRlgoclqG50ymA4eHPNPn7UsjxwHXleijsAAzrujF7zFxzCtxA3uI5 / kdGQK0ExBdqikgYL3tt8ELuSKKnVo7waCBBqscNy5GG3RsWeXaipT + Xj5ESmpeE53FfrZYbng2is / EH714M / sto3NxzFgB + mu1GLAyrrQ7bZgw1VMHzHL6EvY9lWDlB5Ewnp8f9mN9velC5lgkRFvXun01y5jqMCAQwGq9NQk4ZgM2ApwQzQBTrKJYfXS9QisCwrzsitVAYCZX683RiP / n0u2hYmqoV6beoSOMZ3SXwIDAQABAoIBAQCcfiUU6S9fJfcaDTmqxHrcIyJJzZDN3GvvSRBaDNLwa2BWz3Mf4Z + 1m6Ebp4IME / W9ePgQZIGyxeAjZ43Gja2Nifrlmi2JYpWjeG + MvLwN26XfSHx6rtlGmzKkoIQc98qIvSevqepGYAOa0sC0VnKKEfNvtei + jVam4hy / E9 / oQWHV8c / yueLWpCx2pWOy5m7WVLdwNQSK + 8pusxHLFTNCSC9wddBN80FVxhJQ7L4D2DzcprhcfUz6Uz7Ju7v8MtSksirDnaGliWJ3NvxhntJYKvgQ30pvBr // y0lYnAB + O0jJhOpHlgD2hNSlI8sgUxmVyl + gC9Dhnq + v1uKm3CThAoGBAOx + YIGGT / ymqJ53k8Dj4keKctI4 + E3p / 7Tr2jEyRff177VUjITQUnrRTw1W + XSE5cszitVYbv0WUwTJoSSrKaRaVG7iORaqcv0LkG8gnlc rcifRXSl55xMsPCw0adwtoyhrHQLbENntMl + iQw2JbE6fvldvNe2kPdL3B2T7Jw1RAoGBAMd1GvsOHLaKtTD0me + wgGnql0GIp90elE7rQ1p6VMxZkE68b + 0jX9xHAt2zxocR84 + LGi6uAZvBqnwmH48c7Do6 / oulrJXH2OcT6S8 + F / kM7PWNT0Z0J0MW / + npVoPwSihZN4 / uanR47L0YYVlTRgxmakSUZnitrEz754V + YjivAoGBAM1qtC6tWHrO0 / XZTbik + F5FrphVLbCXiSlAF6TV0xqfP5gUmX2faZUOi4i9vC3uZZ9L5NKNXtJseq3U6Shtl90PLPmnfAjpArozOkCcZ4y1yxE09KPbI9BugtGusSizZ13rNCbP22I / eprA2Vc / v5jHflB547DIEX9WXNDkqjYRAoGACD3ag40tuo04t3Ej + zd71uSOo3KWHRjqX + hwvAhaAKeiwt4ecdoIV / 3HLIoFJgej3MaOqmceQeVaug6JN0ympjFR20tZOkcru0CjXgRe0Tergun34J1kEe2dXXj6zjDbn5cwKI5db7qfbaDYROyf9Fs3AOZw5YOnnva5tlZmkJkCgYB0tuVLQSOWsqjTAgkw7tDIMOds9o8dpGJTvXxcs2qWJIDQPQWxHVSlQimh5DFBkrNDAYKKC386KaZOEKwG7G1YuGbh1 + ns3piscJaBi2lPaeA1Y / QA6pCTt9Hbdzre5x0gDbKSHOk + QLJkVdfQX9jamRE6W0k0pXVF6ur8N5zfxA ==----- END RSA秘密鍵-----[[メール保護].ssh]$ 

秘密鍵(例)。

 ----- BEGIN RSA PRIVATE KEY ----- MIIEpAIBAAKCAQEAuEJrs41ZxlJ09aOsRlw9wwgz1DIk39MVJDlOJGK5KcR2GdZ1htTATRlgoclqG50ymA4eHPNPn7UsjxwHXleijsAAzrujF7zFxzCtxA3uI5 / kdGQK0ExBdqikgYL3tt8ELuSKKnVo7waCBBqscNy5GG3RsWeXaipT + Xj5ESmpeE53FfrZYbng2is / EH714M / sto3NxzFgB + mu1GLAyrrQ7bZgw1VMHzHL6EvY9lWDlB5Ewnp8f9mN9velC5lgkRFvXun01y5jqMCAQwGq9NQk4ZgM2ApwQzQBTrKJYfXS9QisCwrzsitVAYCZX683RiP / n0u2hYmqoV6beoSOMZ3SXwIDAQABAoIBAQCcfiUU6S9fJfcaDTmqxHrcIyJJzZDN3GvvSRBaDNLwa2BWz3Mf4Z + 1m6Ebp4IME / W9ePgQZIGyxeAjZ43Gja2Nifrlmi2JYpWjeG + MvLwN26XfSHx6rtlGmzKkoIQc98qIvSevqepGYAOa0sC0VnKKEfNvtei + jVam4hy / E9 / oQWHV8c / yueLWpCx2pWOy5m7WVLdwNQSK + 8pusxHLFTNCSC9wddBN80FVxhJQ7L4D2DzcprhcfUz6Uz7Ju7v8MtSksirDnaGliWJ3NvxhntJYKvgQ30pvBr // y0lYnAB + O0jJhOpHlgD2hNSlI8sgUxmVyl + gC9Dhnq + v1uKm3CThAoGBAOx + YIGGT / ymqJ53k8Dj4keKctI4 + E3P / 7Tr2jEyRff177VUjITQUnrRTw1W + XSE5cszitVYbv0WUwTJoSSrKaRaVG7iORaqcv0LkG8gnlcrcifRXSl55xMsPCw0adwtoyhrHQLbENntMl + iQw2JbE6fvldvNe2kPdL3B2T7Jw1RAoGBAMd1GvsOHLaKtTD0me + wgGnql0GIp90elE7rQ1p6VMxZkE68b + 0jX9xHAt2zxocR84 + LGi6u AZvBqnwmH48c7Do6 / oulrJXH2OcT6S8 + F / kM7PWNT0Z0J0MW / + npVoPwSihZN4 / uanR47L0YYVlTRgxmakSUZnitrEz754V + YjivAoGBAM1qtC6tWHrO0 / XZTbik + F5FrphVLbCXiSlAF6TV0xqfP5gUmX2faZUOi4i9vC3uZZ9L5NKNXtJseq3U6Shtl90PLPmnfAjpArozOkCcZ4y1yxE09KPbI9BugtGusSizZ13rNCbP22I / eprA2Vc / v5jHflB547DIEX9WXNDkqjYRAoGACD3ag40tuo04t3Ej + zd71uSOo3KWHRjqX + hwvAhaAKeiwt4ecdoIV / 3HLIoFJgej3MaOqmceQeVaug6JN0ympjFR20tZOkcru0CjXgRe0Tergun34J1kEe2dXXj6zjDbn5cwKI5db7qfbaDYROyf9Fs3AOZw5YOnnva5tlZmkJkCgYB0tuVLQSOWsqjTAgkw7tDIMOds9o8dpGJTvXxcs2qWJIDQPQWxHVSlQimh5DFBkrNDAYKKC386KaZOEKwG7G1YuGbh1 + ns3piscJaBi2lPaeA1Y / QA6pCTt9Hbdzre5x0gDbKSHOk + QLJkVdfQX9jamRE6W0k0pXVF6ur8N5zfxA ==----- END RSA PRIVATE KEY ----- 

ssh秘密鍵の下にある秘密鍵をコピーし、[保存]をクリックします。

[インベントリ]をクリックし、[インベントリの追加]をクリックします。

それに応じて詳細を入力してください。

[ホスト]->[ホストの追加]をクリックします。

以下の詳細を追加してください:

client2の以下の詳細を追加します。

AWXを介して接続をテストします。

両方のホストを選択し、実行コマンドをクリックします。

pingおよびその他の詳細を選択し、[起動]をクリックします。

このチュートリアルは以上です。次のチュートリアルでは、rpmを介してAWXをインストールする方法と、プレイブックを実行する方法、以降のチュートリアルでAPI呼び出しを行う方法を紹介します。


Cent OS
  1. CentOS8にDockerをインストールする方法

  2. CentOS7にAnsibleをインストールする方法

  3. CentOS8にAnsibleをインストールする方法

  1. CentOS7にownCloudをインストールする方法

  2. CentOS7にDrupal8をインストールする方法

  3. CentOS7にシングルノードOpenStackをインストールする方法

  1. CentOS 7 /RHEL7にELKスタックをインストールする方法

  2. CentOS 7にTripleo(Openstack on Openstack)UnderCloudをインストールする方法

  3. Dockerを使用してAnsibleAWXをインストールする方法-CentOS8で作成