Ansible for Junos OSサーバーの要件
Junos OSを実行しているデバイスとJunos OS Evolvedを実行しているデバイスを管理するために、Ansible制御ノードを設定するための要件について説明します。
ジュニパーネットワークスは、Ansibleを使用した、Junos OSを実行しているデバイスとJunos OS Evolvedを実行しているデバイスの管理をサポートしています。管理対象デバイス上で運用および設定タスクを実行するために使用できるAnsibleモジュールが用意されています。ジュニパーネットワークス モジュールは、 Ansible Galaxy Web サイトでホストされている以下のコレクションを通じて配布されます。
-
juniper.deviceコレクション
juniper.device リリース 2.0.0 以降、ジュニパーネットワークス juniper.device コレクションと Red Hat Ansible junipernetworks.junos コレクションが 1 つのjuniper.deviceコレクションに統合されました。juniper.device コレクションをインストールすると、juniper.device.module_name を使用して、いずれかのセットからモジュールモジュール実行できます。junipernetworks.junos.module_nameを参照する既存のプレイブックを引き続き使用する場合は、junipernetworks.junosコレクションもインストールする必要があります。いずれかの名前空間を使用してjunipernetworks.junosモジュールを実行するには、ansible_network_os=juniper.device.junosを定義する必要があります。それ以外の場合、マージされたモジュールのセットを使用しても、他のすべては同じままです。
Unixライクなオペレーティングシステムを搭載した制御ノードにAnsibleをインストールします。Ansibleとジュニパーネットワークスコレクションをインストールできます。
-
構成管理サーバー上で直接
-
Python仮想環境内
-
Dockerコンテナとして
Ansibleと juniper.device コレクションは、システムにインストールされたPythonの下、またはコントロールノードのPython仮想環境にインストールするには、次のセクションを参照してください。
ジュニパーネットワークス のjuniper/pyez-ansible Dockerイメージは、Ansible、ジュニパーネットワークスモジュール、およびすべての依存関係を1つのポータブルコンテナにバンドルした、軽量で自己完結型のシステムです。Dockerコンテナを使用すると、Ansibleを対話モードで、またはDockerをサポートする任意のプラットフォームで実行可能パッケージとしてすばやく実行できます。Ansible for Junos OS Dockerイメージを使用するには、次のセクションを参照してください。
前提条件となるソフトウェア
ジュニパーネットワークス juniper.device コレクションをインストールし、Ansible を使用してJunosデバイスの管理を開始する前に、選択した環境の Ansible コントロールノードに以下の前提条件ソフトウェアをインストールする必要があります。ソフトウェアは、システムにインストールされたPythonまたはPython仮想環境にインストールできます。Python仮想環境の使用をお勧めします。
-
Python 3.12以降
-
Ansible 10.x以降(ansible-coreバージョン2.17以降)
-
Junos PyEZ(
junos-eznc)リリース2.7.3以降。Junos PyEZのインストール手順については、以下を参照してください。
-
次のPythonパッケージとライブラリ:
-
Junos Snapshot Administrator in Python(JSNAPy)リリース1.3.7以降(
juniper.device.jsnapyモジュールを使用するために必要)。JSNAPy のインストール手順と現在の情報については、次を参照してください。
juniper.deviceコレクションをインストールします
Ansible制御ノードでは、Ansible Galaxyからjuniper.deviceコレクションとjunipernetworks.junosコレクションをインストールできます。Ansibleおよびその他の前提ソフトウェアをインストールしたのと同じ環境にコレクションをインストールします。
juniper.deviceリリース2.0.0以降、juniper.deviceコレクションにはjuniper.deviceモジュールとjunipernetworks.junosモジュールが含まれます。juniper.device コレクションだけをインストールし、juniper.device.module-name を使用して、どちらのモジュールセット内の任意のモジュールでも実行できます。以前にjunipernetworks.junosモジュールを使用していて、junipernetworks.junos.module-nameを参照する既存のプレイブックを引き続き使用する場合は、junipernetworks.junosコレクションもインストールする必要があります。
既存の junipernetworks.junos コレクションユーザーは、両方のコレクションをAnsible for Junos OS環境にインストールすることをお勧めします。
juniper.device コレクションと junipernetworks.junos コレクションをインストールするには、次のようにします。
Ansible for Junos OS Dockerイメージを使用する
Docker は、アプリケーションとその依存関係を分離されたコンテナーにパッケージ化して実行するために使用されるソフトウェア コンテナ プラットフォームです。ジュニパーネットワークスは、ジュニパーネットワークスのAnsibleモジュールとともに Dockerイメージ を提供します。Dockerイメージには、Python 3とAnsibleが含まれています。また、最新バージョンの juniper.device コレクション、Junos PyEZ、JSNAPy、および必要な依存関係も含まれています。コンテナをインタラクティブモードで実行することも、コンテナを実行可能ファイルとして使用してプレイブックを実行することもできます。
AnsibleコントロールノードでAnsible for Junos OS Dockerイメージを使用するには、以下を行います。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。
juniper.device リリース 2.0.0 以降、Red Hat Ansible junipernetworks.junos モジュールが juniper.device コレクションにマージされました。