現在、AnsibleはITで最も広く使用されている自動化ツールの1つです。ただし、さまざまなユースケースに対応するコミュニティで利用可能なモジュールと役割の数が非常に多い場合の大きな課題は、本番環境に適した信頼性の高い適切に強化されたモジュールを見つけることです。
プレイブックでコミュニティモジュールと役割を使用して本番環境を自動化する場合は、それらのライフサイクルを追跡し、新しいAnsibleリリースとの互換性を確認する必要があります。
これらの課題により、Ansibleコミュニティモジュールと役割の信頼性に疑問が生じます。
Red Hat Automation Hub
Red Hatは最近、Ansibleサブスクリプションモデルを変更し、適切なAnsibleサブスクリプションをお持ちの場合は、Red HatCloudToolsサイトからアクセスできる多くの新しいオンラインAnsible製品を導入しました。
Ansibleの信頼性を高めると私が信じている主要なオンライン製品は、Red HatAutomationHubです。信頼度が大幅に上がると言っても過言ではありません。 Red Hat Automation Hubは、AnsibleGalaxyでサポートされているモジュールとロールのバージョンです。
Red Hatは、Automation Hubで公開する前に、モジュールとロールをテストして強化します。それらは、OpenShiftで利用可能なRedHatレジストリとして表示できますが、今回はAnsibleで使用できます。 Automation Hubはまだ多くのモジュールを持たない新製品ですが、RedHatはさらに追加を続けています。
コレクションとFQCN
Red Hatは、AutomationHubのモジュールとロールをコレクションにグループ化します。 。プレイブックでは、インストールされたコレクションのモジュールを使用する場合、「完全修飾コレクション名」またはFQCN(通常は次の形式)を使用してモジュールを参照します。
namespace.collection.module
ただし、AutomationHubは新製品です。 F5コレクションやAnsible2.9の場合と同様に、名前だけで参照する必要のあるモジュールを見つけることができます。モジュールが機能していない場合は、いつでもRed Hatサポートでケースを開くことができ、アドバイスがあります。 Automation Hubを使用すると、あなただけではなくなります。
[読者も気に入っています:Ansibleを使い始める]
デザイン
この記事では、Ansibleエンジンをインストールします。インストールはRHEL8.2に基づいています。 Python 3.6があり、これはまだサポートされており、最近のAnsibleモジュールの多くの前提条件です。
AnsibleEngineには3つの異なるレイヤーがあります:
- オペレーティングシステム。この場合はRHEL8.2です。
- Ansibleバイナリ。
- 追加のモジュール(Red Hat Automation Hubでは、コレクションと呼ばれます)。
前提条件:
- コレクションをダウンロードするには、RHELベースのAnsibleEngineを使用する必要があります。 RHEL8.2のインストールはこの記事の範囲外であるため、使用する準備ができているサーバーがあることを前提としています。
- 適切なRedHatAnsibleサブスクリプションがあります。
- Ansible Towerのインストールと使用は、この記事の範囲外です。
- インストールはプロキシの背後で行われます。ただし、インターネットに直接接続されているシステムにAnsible Engineをインストールする場合は、プロキシ関連の手順をスキップできます。
- Ansible2.9がインストールされて使用されます。
AnsibleEngineのインストール
RHEL8.2を新規インストールした後、次の手順に従ってAnsibleEngineをインストールします。
1. RHSM構成ファイルを編集します:
# vi /etc/rhsm/rhsm.conf
2. RHSM構成ファイルのこのセクションをプロキシの詳細で変更してから、ファイルを保存します。
# an http proxy server to use
proxy_hostname =
# The scheme to use for the proxy when updating repo definitions, if needed
# e.g. http or https
proxy_scheme = http
# port for http proxy server
proxy_port =
# user name for authenticating to an http proxy, if needed
proxy_user =
# password for basic http proxy auth, if needed
proxy_password =
3. RHSMに登録します:
# subscription-manager register
4.RHELおよびRedHatAnsibleEngineサブスクリプションに接続します。このコマンドは、利用可能なRHEL Red HatAnsibleEngineサブスクリプションを見つけるのに役立ちます。
# subscription-manager list --available
5.サブスクリプションのプールIDを取得し、以下を実行します。
# subscription-manager attach --pool=<pool id here of RHEL subscription>
# subscription-manager attach --pool=<pool id here of engine subscription>
6.関連するリポジトリを有効にします:
# subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms --enable rhel-8-for-x86_64-baseos-rpms --enable ansible-2.9-for-rhel-8-x86_64-rpms
7. Ansibleをインストールします:
# yum install -y ansible
8. OSバイナリを更新します:
# yum update -y
9.ノードを再起動します。
F5コレクションのインストール
デフォルトのAnsibleインストールの構成はアップストリームのansible-galaxyを指しているため、次のようにAnsible構成を変更してRed HatAutomationHubを含める必要があります。
1.RedHatのAutomationHubトークン管理サイトにアクセスします。
2. Red HatCloudToolsサイトのユーザー名とパスワードを使用してログインします。
3.APIトークンの取得を押します 。
4.トークンをコピーします。
5. Ansible構成ファイルを編集します:
# vi /etc/ansible/ansible.cfg
6.構成ファイルの最後に次の行を追加します。
[galaxy]
server_list = automation_hub, release_galaxy, test_galaxy
[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=" Paste Token"
7. ansible.cfg
を保存します 構成ファイル。
これでコレクションをダウンロードする準備が整いましたが、開始する前に、考慮すべき点がいくつかあります。
1. Ansibleノードがインターネットに直接接続されていない場合は、インターネットにアクセスできるプロキシを設定する必要があります。プロキシの設定は一時的なものである必要があり、新しいSSHセッションで持続しないようにする必要があります。これにより、HTTPまたはHTTPSを介してAPIを使用してターゲットシステムを自動化するプレイブックを実行するときに、プレイブックが失敗することはありません。
プロキシを設定するには:
$ export http_proxy='proxy.example.com:port'
$ export https_proxy='proxy.example.com:port'
備考:コレクションは、オフラインインストールの場合はtarballファイルとしてダウンロードし、次のポイントに従ってデフォルトのパスにインストールできます。
2.コレクションがダウンロードされ、現在のユーザーのホームディレクトリにローカルにインストールされます。次のパスにインストールされます:
$HOME/.ansible/collections/ansible_collections/
以下のコマンドを使用して、任意のコレクションをダウンロードできます:
$ ansible-galaxy collection download namespace.collection
Red Hat Cloud Toolsサイトで、関連するコレクションページを選択すると、以下のスクリーンショットで正確なコマンドを確認できます。

F5コレクションをダウンロードするには、次のコマンドを実行します。
$ ansible-galaxy collection install f5networks.f5_modules
サンプルプレイブック
F5機器の自動化を開始するには、ネットワークを次のように設定する必要があります。この場合、AnsibleノードはF5管理インターフェイス(ポート)に到達できます。

Red Hat Cloud Toolsサイトのコレクションガイドでは、FQCNを使用することをお勧めしますが、残念ながら、この記事の執筆時点ではこれは不可能でした。 gitMemoryサイトによると、これはAnsible 2.10で修正される可能性があります:
私のGitHubサイトから実用的なプレイブックのサンプルをご覧ください。
プレイブックのIPは、F5機器の管理インターフェイスIPに置き換え、パスワードは、ansible-vaultで保護された「admin」パスワードに置き換える必要があります。
[Red Hatの無料ガイド:ビジネスを自動化するための5つのステップ。 ]
まとめ
- Ansible Automation Hubは、Ansibleをコミュニティがサポートする自動化ツールからエンタープライズグレードのツールに移行する、RedHatの非常に有望な製品です。
- アップストリームで利用可能な役割とモジュールの数と比較すると、ハブはまだ始まったばかりですが、ここ数週間で、より多くのベンダー(HP、Aristaなど)がハブに参加していることに気付きました。 )
- ハブからダウンロードした一部のモジュールは、まだFQCNを使用して参照する準備ができていないため、奇妙なエラーが発生した場合は、Red Hatサポートでケースを開く前に、名前のみを使用してモジュールを参照してみてください。
- Automation Hubをローカルのハブ(たとえば、Satellite)にミラーリングできると、AutomationHubの価値が大幅に高まると思います。
参照
- Ansible Engineをインストールするには、記事「Red Hat AnsibleEngineをダウンロードしてインストールするにはどうすればよいですか?」を参照してください。
- コレクションの処理方法の詳細については、Ansibleコレクションの使用を参照してください。