GNU/Linux >> Linux の 問題 >  >> Linux

新しいAnsibleAutomationHubの紹介

現在、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つの異なるレイヤーがあります:

  1. オペレーティングシステム。この場合はRHEL8.2です。
  2. Ansibleバイナリ。
  3. 追加のモジュール(Red Hat Automation Hubでは、コレクションと呼ばれます)。

前提条件:

  1. コレクションをダウンロードするには、RHELベースのAnsibleEngineを使用する必要があります。 RHEL8.2のインストールはこの記事の範囲外であるため、使用する準備ができているサーバーがあることを前提としています。
  2. 適切なRedHatAnsibleサブスクリプションがあります。
  3. Ansible Towerのインストールと使用は、この記事の範囲外です。
  4. インストールはプロキシの背後で行われます。ただし、インターネットに直接接続されているシステムにAnsible Engineをインストールする場合は、プロキシ関連の手順をスキップできます。
  5. 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コレクションの使用を参照してください。

Linux
  1. 新しいPodmanシークレットコマンドの探索

  2. 親プロセスが終了したときの新しい親プロセス?

  3. Tmuxの現在のディレクトリに新しいウィンドウを作成するにはどうすればよいですか?

  1. 自動化のためにAnsibleとanacronを使用する方法

  2. CentOSとRedHatのSSHポートを変更する

  3. RackspaceCloudコントロールパネルの紹介

  1. Linuxシステム自動化のための10のAnsibleモジュール

  2. Linuxでのプロセス間通信のガイドを紹介します

  3. Linuxシステム管理者向けのAnsibleの謎を解き明かす