Ansible for Junos OSサーバーの要件
ジュニパーネットワークスは、Ansibleを使用したJunosデバイスの管理をサポートしており、デバイス上で運用タスクと設定タスクを実行するために使用できるAnsibleモジュールを提供しています。Ansibleは、Ansible 2.10以降で、Ansibleコンテンツコレクションまたはコレクションをサポートします。ジュニパーネットワークス モジュールは、 Ansible Galaxy Web サイトでホストされている以下の Ansible コレクションを通じて配布されます。
-
juniper.deviceコレクション
Unixライクなオペレーティングシステムを搭載した制御ノードにAnsibleをインストールします。Ansibleとジュニパーネットワークスコレクションをインストールできます。
-
構成管理サーバー上で直接
-
Python仮想環境内
-
Dockerコンテナとして
ジュニパーネットワークス のjuniper/pyez-ansible Dockerイメージは、Ansible、ジュニパーネットワークスモジュール、およびすべての依存関係を1つのポータブルコンテナにバンドルした、軽量で自己完結型のシステムです。Dockerコンテナを使用すると、Ansibleを対話モードで、またはDockerをサポートする任意のプラットフォームで実行可能パッケージとしてすばやく実行できます。
Ansibleと juniper.device コレクションは、システムにインストールされたPythonの下、またはコントロールノードのPython仮想環境にインストールするには、次のセクションを参照してください。
Ansible for Junos OS Dockerイメージを使用するには、次のセクションを参照してください。
前提条件となるソフトウェア
ジュニパーネットワークス juniper.device コレクションをインストールし、Ansible を使用してJunosデバイスの管理を開始する前に、選択した環境の Ansible コントロールノードに以下の前提条件ソフトウェアをインストールする必要があります。ソフトウェアは、システムにインストールされたPythonまたはPython仮想環境にインストールできます。
-
Python 3.10以降
-
Ansible 2.17以降
-
Junos PyEZ(
junos-eznc)リリース2.7.3以降。Junos PyEZのインストール手順と現在の情報については、以下を参照してください。
-
jxmleasePython モジュール、バージョン 1.0.1 以降 -
looseversionPythonモジュール、バージョン1.3.0以降 -
xmltodictPython モジュール、バージョン 0.13.0 以降 -
Junos Snapshot Administrator in Python(JSNAPy)リリース1.3.7以降(
jsnapyモジュールを使用するために必要)。JSNAPy のインストール手順と現在の情報については、次を参照してください。
juniper.deviceコレクションをインストールします
Ansible制御ノードでは、Ansible GalaxyのWebサイトからjuniper.deviceコレクションをインストールできます。Ansibleと他の前提ソフトウェアをインストールしたのと同じ環境にコレクションをインストールします。
juniper.deviceコレクションをインストールするには:
ansible-galaxy collection install コマンドを発行し、juniper.device コレクションを指定します。
user@ansible-cn:~$ ansible-galaxy collection install juniper.device Starting galaxy collection install process Process install dependency map Starting collection install process Installing 'juniper.device:1.0.7' to '/home/user/.ansible/collections/ansible_collections/juniper/device' Downloading https://galaxy.ansible.com/download/juniper-device-1.0.7.tar.gz to /home/user/.ansible/tmp/ansible-local-23916uzdfbjsk/tmp4nhxnw3v juniper.device (1.0.7) was installed successfully
Ansible for Junos OS Dockerイメージを使用する
Docker は、アプリケーションとその依存関係を分離されたコンテナーにパッケージ化して実行するために使用されるソフトウェア コンテナ プラットフォームです。ジュニパーネットワークスは、ジュニパーネットワークスモジュールの新しいリリースごとに自動的にビルドされる Dockerイメージを提供します。Dockerイメージには、Python 3、Ansible、Junos PyEZ、 juniper.device コレクション、PythonのJunos Snapshot Administrator、および必要な依存関係が含まれています。コンテナをインタラクティブモードで実行することも、コンテナを実行可能ファイルとして使用してプレイブックを実行することもできます。
AnsibleコントロールノードでAnsible for Junos OS Dockerイメージを使用するには、以下を行います。