Red Hat Training
A Red Hat training course is available for RHEL 8
第44章 Nmstate の概要
nmstate は宣言型のネットワークマネージャー API です。nmstate
パッケージは、RHEL の NetworkManager を管理するために、 libnmstate
Python ライブラリー、およびコマンドラインユーティリティー nmstatectl
を提供します。Nmstate を使用する場合、YAML または JSON 形式の命令を使用して想定されるネットワーク状態を記述します。
Nmstate には多くの利点があります。たとえば、以下のようになります。
- 安定性と拡張可能なインターフェイスを提供して RHEL ネットワーク機能を管理する。
- ホストおよびクラスターレベルでのアトミックおよびトランザクション操作をサポートする。
- ほとんどのプロパティーの部分編集をサポートし、この手順で指定されていない既存の設定を保持する。
- 管理者が独自のプラグインを使用できるようにプラグインサポートを提供する。
44.1. Python アプリケーションでの libnmstate ライブラリーの使用
libnmstate
Python ライブラリーを使用すると、開発者は独自のアプリケーションで Nmstate を使用できます。
ライブラリーを使用するには、ソースコードにインポートします。
import libnmstate
このライブラリーを使用するには、nmstate
パッケージをインストールする必要があることに注意してください。
例44.1 libnmstate ライブラリーを使用したネットワーク状態のクエリー
以下の Python コードは、libnmstate
ライブラリーをインポートし、利用可能なネットワークインターフェイスとその状態を表示します。
import json import libnmstate from libnmstate.schema import Interface net_state = libnmstate.show() for iface_state in net_state[Interface.KEY]: print(iface_state[Interface.NAME] + ": " + iface_state[Interface.STATE])